python3从零学习-4.2、内置数据类型
内置标准类型:
* Boolean(布尔)
* Number(数字)
* String(字符串)
* List(列表)
* Tuple(元组)
* Sets(集合)
* Dictionary(字典)
Boolean(布尔)
Python3 布尔类型是True和False两个对象,Python2 是1表示True,0表示False,本质上都是1和0.
任何对象都可以进行逻辑值的检测,以便在 if 或 while 作为条件或是作为下文所述布尔运算的操作数来使用。
一个对象在默认情况下均被视为真值,除非当该对象被调用时其所属类定义了 __bool__() 方法且返回 False 或是定义了 __len__() 方法且返回零。 1 下面基本完整地列出了会被视为假值的内置对象:
被定义为假值的常量: None 和 False。
任何数值类型的零: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)
空的序列和多项集: '', (), [], {}, set(), range(0)
产生布尔值结果的运算和内置函数总是返回 0 或 False 作为假值,1 或 True 作为真值,除非另行说明。 (重要例外:布尔运算 or 和 and 总是返回其中一个操作数。)
布尔运算 --- and, or, not
这些属于布尔运算,按优先级升序排列:
运算结果:注释
x or yif x is false, then y, else x(1)
x and yif x is false, then x, else y(2)
not xif x is false, then True, else False(3)
注释:
1.这是个短路运算符,因此只有在第一个参数为假值时才会对第二个参数求值。
2.这是个短路运算符,因此只有在第一个参数为真值时才会对第二个参数求值。
3.not 的优先级比非布尔运算符低,因此 not a == b 会被解读为 not (a == b) 而 a == not b 会引发语法错误。
Number(数字)
Python3 支持 int、float、bool、complex(复数)
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的type()函数可以用来查询变量所指的对象类型。
注意:在Python2中是没有布尔型的,它用数字0表示False,用1表示True。到Python3中,把True和False定义成关键字了,但它们的值还是1和0,它们可以和数字相加。
注意:
* 1、Python可以同时为多个变量赋值,如a, b = 1, 2。
* 2、一个变量可以通过赋值指向不同类型的对象。
* 3、数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符。
* 4、在混合计算时,Python会把整型转换成为浮点数。
Python还支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型
Python中的字符串用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义特殊字符
字符串的截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号 (+) 是字符串的连接符, 星号 (*) 表示复制当前字符串,紧跟的数字为复制的次数。
注意:
* 1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
* 2、字符串可以用+运算符连接在一起,用*运算符重复。
* 3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
* 4、Python中的字符串不能改变。
String(字符串)
Python中的字符串用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义特殊字符。
字符串的截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号 (+) 是字符串的连接符, 星号 (*) 表示复制当前字符串,紧跟的数字为复制的次数。
List(列表)
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号([])之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号(+)是列表连接运算符,星号(*)是重复操作。
List内置了有很多方法,例如append()、pop()等等,这在后面会讲到。
注意:
* 1、List写在方括号之间,元素用逗号隔开。
* 2、和字符串一样,list可以被索引和切片。
* 3、List可以使用+操作符进行拼接。
* 4、List中的元素是可以改变的。
Tuple(元组)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号(())里,元素之间用逗号隔开。
元组中的元素类型也可以不相同:
注意:
* 1、与字符串一样,元组的元素不能修改。
* 2、元组也可以被索引和切片,方法一样。
* 3、注意构造包含0或1个元素的元组的特殊语法规则。
* 4、元组也可以使用+操作符进行拼接。
Set(集合)
集合(set)是一个无序不重复元素的序列。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号({})或者 set()函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
Dictionary(字典)
字典(dictionary)是Python中另一个非常有用的内置数据类型
列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
另外,字典类型也有一些内置的函数,例如clear()、keys()、values()等。
注意:
* 1、字典是一种映射类型,它的元素是键值对。
* 2、字典的关键字必须为不可变类型,且不能重复。
* 3、创建空字典使用 { }。