首页 > 编程语言 > 详细

Python基础-02数据类型

时间:2020-05-21 09:11:35      阅读:57      评论:0      收藏:0      [点我收藏+]

2.Python数据类型

? ? 对于任何一种编程语言的学习,需要打好入门的基础知识,在Python中常见的基础知识有基本数据类型条件语句循环语句函数,更深层次需要掌握面向对象的知识。今天我们先来了解学习一下基础知识,在Python常见的基本数据类型如下所示:

技术分享图片

2.1 基本数据类型

2.1.1 布尔型

? ? 布尔型为(boolean)变量只能取两个值TrueFalse,如果把布尔变量用于数字计算的话,则1代表True,0代表False。示例代码如下所示:

t=True
f=False
print(t+f)
print(1+t)
print(3+f)

运行结果如下所示:

1
2
3

? ? 除了直接给变量赋值True和False之外,还可以使用bool(variable)来创建变量,其中variable可以是

  • 基本数据类型:整形、浮点型、布尔型等
  • 容器数据类型:字符、元组、列表、集合和字典等

在Python中None、0、0.0、空值、空列表、空集合、空元组和空字典等都视为False

2.2.1 数字型

? ? 在Python中,常用的数字型都是内置数据类型,可以直接用来进行数学运算。如下所示:

技术分享图片

2.2.1.1 整型

? ? 整型也即我们常说的整数类型的数据,如1,-1等。示例代码如下所示:

a=100
b=-100
print(type(a),type(b))

运行结果如下所示:

<class ‘int‘> <class ‘int‘>
  • 在Python,查看一个数据的类型可以使用函数type()
  • 示例代码查看数据类型输出结果为 <class ‘int‘>,在Python一切皆为对象,因此整型也是一个类,而类就会相应的属性和方法

在Python中通过dir(variable)和help(variable)可以查看variable对应的属性和方法,如dir(int)

? ? 示例代码如下所示:

a=100
print(a.__add__(100))
print(a.__divmod__(3))

运行结果如下所示:

200
(33, 1) # 返回结果为商和余数
2.2.1.2 浮点型

? ? 浮点型也即我们常见的带小数位的数字,如1.2,1.0987等,示例代码如下所示:

a=1
b=1.
c=1.23

print(type(a),type(b),type(c))

运行结果如下所示:

<class ‘int‘> <class ‘float‘> <class ‘float‘>

? ? 在示例代码中,加一个小数点即可创建一个浮点型数据类型,如果需要对小数位数进行控制,可以使用round()函数,如果对精度要求比较高,可以使用包decimal,默认精度为28位,如下所示:

decimal.getcontext()
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])

2.2容器类数据类型

? ? 在前面介绍的布尔型、数字类型的数据都可以看成是单独的数据,而这些数据都可以放在一个容器中进而得到一个容器类型的数据。如

  • 字符型:可以看成是由很多个字节组成的容器。字节(char)这里借用其他编程语言,Python中并未有此种数据类型,在其他语言中单个字符的数据称之为char类型
  • 元组 (tuple)、列表 (list)、字典 (dict) 和集合 (set) 可以看成是一个容器的任何类型变量

2.2.1 字符型

? ? 在Python中使用引号(单引号、双引号、三引号)括起来的均为字符型,如‘abc‘,"abc","""abc"""。示例代码如下所示:

a="China"
b=‘China‘
c="""China"""
print(type(a),type(b),type(c))

运行结果如下所示:

<class ‘str‘> <class ‘str‘> <class ‘str‘>

2.2.2 元组

? ? 在Python中元组的定义语法格式如下所示:

   (item1,item2,...,itemn)

 item1,item2,...itemn
  • 这里推荐第一种写法
  • 元组两个关键点小括号逗号

? ? 创建元组示例如下所示:

a=1,2,3
b=(1,2,3)
c=(1,)

常见的元组一般为一维,也可以创建多维元组,如((1,2),(3,4))

2.2.3 字典

? ? 在Python字典的定义格式语法如下所示:

 {
   key1:value1,
   key2:vallue2,
   ...
   keyn:valuen,
 }
  • 字典中每个元素是key:value的形式成对出现
  • 定义字典使用大括号,每个键值对使用冒号进行分隔,不同的键值对之间使用逗号分隔
  • 最后一个键值对后面的逗号可以省略,一般建议是不要省略,便于后面继续添加元素

? ? 示例代码如下所示:

d={
    "beijing":"beijing",
    "shanghai":"shanghai",
    "jiangsu":"nanjing",
    "zhejian":"hangzhou",
    "hubei":"wuhai",
}

2.2.4 集合

? ? 在Python中,集合的定义形式有以下两种方法:

 {item1,item2,...itemn}

 set(列表或元组)
  • 在使用大括号定义集合时,里面的元素不能为空,否则则会变为字典类型
  • 使用set()定义集合时,里面必须为列表或元组
  • 在集合中是不会出现重复元素的,因此可以使用集合进行去重

? ? 示例代码如下所示:

a={1,2,3,4,5}
b=(1,2,3,4,5)
c=set(b)

2.2.5 列表

? ? 在Python中,列表的定义格式如下所示:

 [item1,item2,...,itemn]
  • 列表使用中括号进行定义,每个元素使用逗号进行分隔

? ? 示例代码如下所示:

[1,2,3]

2.2.6 索引和切片

  • 索引:代表指定对象所处的位置,在Python中索引从0开始,而不是1
  • 切片:通常形式为startIndex : endIndex : step,这里需要注意在取值时,是包含startIndex对应的元素,但不包含endIndex对应的元素,step为对应的步长(简单来讲是含前不含后)
  • 索引是获取单个元素,而切片则是获取一组元素

索引可以为正值也可以负值,正索引从0开始,从左到右的形式取值,负索引从-1开始,从右向左路的形式取值。

? ? 以上详细查看如下示意图:

技术分享图片

对于容器类型的数据类型而言,列表和元组是可以使用索引和切片来进行获取指定的元素或元素组。

1.切片的通用写法

 startIndex : endIndex : step
  • 以上这种写法代表从指定索引startIndex开始,取值到指定索引endIndex,步长为step。但这三个值并不是每次必须要填写,还可以省略掉

2.切片省略endIndex和step

 startIndex :
  • 以上这种写法代表从索引startIndex开始,取值到末尾,步长为默认步长1

3.切片省略startIndex和step

 : endIndex
  • 以上这种写法代表从索引0开始,取值到指定的索引endIndex位置,步长为默认步长1

4.省略step

 startIndex : endIndex
  • 以上这种写法代表从指定索引startIndex开始,取值到指定的索引endIndex位置,步长为默认步长1

5.省略startIndex和endIndex

 ::step
  • 以上这种写法代表获取所有元素,但步长为指定的步长step

6.全部省略

 ::
  • 以上这种写法代表获取所有元素且默认步长为1

? ? 示例代码如下所示:

a=[0,1,2,3,4,5,6,7,8,9]

print(f"[startIndex:endIndex:step] - {a[2:5:1]}")
print(f"[startIndex:] - {a[3:]}")
print(f"[:endIndex] - {a[:5]}")
print(f"[startIndex:endIndex] - {a[2:6]}")
print(f"[:step] - {a[::2]}")
print(f"[::] - {a[::]}")
print(f"[::step] - {a[::-1]}")
print(f"[startIndex:endIndex] - {a[-5:-3]}")

输出结果如下所示:

[startIndex:endIndex:step] - [2, 3, 4]
[startIndex:] - [3, 4, 5, 6, 7, 8, 9]
[:endIndex] - [0, 1, 2, 3, 4]
[startIndex:endIndex] - [2, 3, 4, 5]
[:step] - [0, 2, 4, 6, 8]
[::] - [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[::step] - [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
[startIndex:endIndex] - [5, 6]

本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:
技术分享图片

Python基础-02数据类型

原文:https://www.cnblogs.com/surpassme/p/12927492.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!