回顾:上章提到内置对象不需要做任何的导入操作就可以直接使用,那什么是内置对象?让我们一起来认识一下吧🧐
一、常用的内置数据类型
1、数据类型:特定类型的值及其支持的操作组成的整体
(1)整型对象支持加、减、乘、除、幂运算以及求余数; (2)列表、元组、字符串支持与整数相乘; (3)字典支持通过“键”作为下标获取相应的“值”;
2、内置对象
在Python中,一切都可以称作对象,包括整数、浮点数、复数、字符串和zip对象、map对象、range对象、生成器对象等内置函数,以及大量标准库对象和扩展库对象,自定义函数和类也可以称作对象
注意:
(1)Python属于动态类型编程语言(强类型编程语言),变量的值和类型随时可以发生改变
(2)变量不直接存储值,而是存储值的内存地址或者引用,同时变量类型随时可以改变,但每个变量在任意时刻的类型都是确定的
(3)可以不事先声明变量名及其类型,用复制语句可以直接创建任意类型的变量,其类型取决于等号右侧表达式值的类型
二、运算符与表达式
1、算术运算符
(1)算术运算符都是双目运算符,每个运算符可以与两个操作数组成一个表达式
(2)支持对相同或不同类型的数字进行混合运算,在对不同类型的对象进行运算时,会强制将对象的类型进行临时类型转换
①布尔类型进行算术运算时,被视为数值0或1
②整型与浮点型运算时,将整型转化为浮点型
③其它类型与复数运算时,将其它类型转换为复数类型
(3) +运算符: 除了用于算术加法以外,还可以用于列表、元组、字符串的连接
(4)-运算符: 除了用于整数、实数、复数之间的算术减法和相反数之外,还可以计算集合的差集 注意: 在进行实数之间的运算时,有可能会出现误差
(5) *运算符: 除了表示整数、实数、复数之间的算术乘法,还可用于列表、元组、字符串这几个类型的对象与整数的乘法,表示序列元素的重复,生成新的列表、元组或字符串
(6 )/和//运算符: 在Python中分别表示真除法和求整商。在使用时,要特别注意整除运算符(//)“向下取整” 的特点
(7) %运算符: 可以用于求余数运算,还可以用于字符串格式化, 在计算余数时,结果与%右侧的运算数符号一致
(8) 运算符: 表示幂运算,使用时应注意该运算符具有右结合性**(如果有两个连续的运算符,那么先计算右边的再计算左**边的,除 非使用圆括号明确修改表达式的计算顺序)
2、比较运算符
比较运算符同样是双目运算符,它与两个操作数构成一个表达式
3、赋值运算符
(1)将一个表达式或对象赋给一个左值,其中左值必须是一个可修改的值,不能为一个常量
(2)“=”是基本的赋值运算符,此外“=”可与算术运算符组合成复合赋值运算符
4、逻辑运算符
(1)or、and、not这三个关键字作为逻辑运算“或”、“与”、“非”的运算符
(2)or与and为双目运算符,not为单目运算符
5、位运算符
(1)程序中的所有数据在计算机内存中都以二进制形式存储,位运算即以二进制位为单位进行的运算
(2)主要有按位左移、按位右移、按位与、按位或、按位异或、按位取反这6种,如下图
6、运算符优先级
(1)默认情况下,运算符的优先级决定了复杂表达式中的哪个单一表达式先执行,但用户可使用圆括号“()”改变表达式的执行顺序
(2)运算符一般按照自左向右的顺序结合,赋值运算符的结合性为自右向左
7、关系运算符
8、成员测试运算符
in用于测试一个对象是否包含另一个对象
9、集合运算符
&交集,|并集,对称差集^,差集-
10、逻辑运算符(补充)
(1)常用来连接多个子表达式构成更加复杂的条件表达式
(2)false:0、0.0、0j、None、False、空列表、空元组、空字符串、空字典、空集合、空range对象或其他空的容器对象
(3)注意:and和or具有惰性求值或逻辑短路的特点,例子如下: