python学习2
数据类型
隐式类型转换
数字之间可以进行数学计算,在进行数学计算时若数字类型不同,则会发生隐式类型的转换。
- 布尔 + 整数 = 整数 【 布尔值被转换为整数 】
- 布尔 / 整数 + 浮点数 = 浮点数 【 布尔值或整数都会转换为浮点数 】
总结:1. 没有浮点数,有整数,所有操作数类型都转换为整数;
2. 有浮点函数,所有操作数类型都转换为浮点数。
显式类型转换
如果你想让浮点数转换为整数该怎么办 ?— 使用转换函数 !
除了复数外,整数、浮点数、布尔数的转换函数分别为:int() 、 float() 、 bool().
注意点
- 布尔类型的Ture 和 False 的首字母必须大写 [ 之前说过py中大小写不同 ];
- 用函数 isinstance函数 isinstance(s, int)可以判断 s 是否是 int 型;
- 字符串通过bool转为布尔型时,若是空字符串,则转为False。
运算符
1. 算数运算符
加、减、乘、除( / ) 、 求余( % )[ 求余数 ] 、幂( ** )[ a** b求a的b次幂] 、
取整( // )[ 取两数相除后的整数部分 ]。
2. 比较运算符【 返回Ture / False 】
等于( == ) 、 不等于( != ) 、大于、小于、大于等于、小于等于。
3. 逻辑运算符【 返回Ture / False 】
逻辑非( not ) 、逻辑与( and ) 、逻辑或( or )
与 : 若表达式1为False 表达式2不用计算,结果必为False
或 : 若表达式1为Ture 表达式2不用计算,结果必为Ture
4. 位运算符
位反( ~ )[ 将 x 的值按位取反 ] 、位与( & )[ 将 x 与 y 按位进行位与运算 ]
位或( | )[ x 与 y 按位进行位或运算 ] 、位异或( ^ )[ x 与 y 按位进行异或运算 ]
右移( >> )[ x >> a 将 x 右移 a 位,高位采用符号位补位 ]
左移( << )[ x << a 将 x 左移 a 位,低位用 0 补位 ]
5. 赋值运算符
与C的一样,算数运算符懂了这个不难理解。
6. 运算符的优先级
括号 优先级最强,所有如果你记不住运算符的优先级顺序,一直用括号即可,如果不想就到用的时候再查找即可。
注意点:
S1 == S2 表示 相等
S1 is S2 表示 是
要理解 python 中数据引用思想
py中所有的数据都是对象,比如 x = 1,内存中是给 x 创建一个存储空间,但它不会把 1 放进去,它会在内存里再构造一个 1 ,然后让 x 去引用 1 .
用函数id可以得到对象的编号 id(x)