标签:ble 信息 ima python(二) lex 无限 语言 子类 比较运算符
最重要的内置类型有数字、序列、映射、类、实例和异常。
真值检测
if和while都可以做真值检测,默认情况下,如果一个对象的__bool__()返回False或者__len__()返回0,那么该对象为假;否则都为真。
因此内置类型为假的情况有:
- 常量:None和False
- 任何值为0的数字类型:0, 0.0, 0j, Decimal(0), Fraction(0, 1)
- 空序列和集合:‘‘, (), [], {}, set(), range(0)
布尔运算——and, or, not
优先级最高的是not,其次是and,最次是or
它们三个操作符都是在前后两个值选择一个返回!!!
- x or y: if x is false, then y, else x(找第一个真)
- x and y: if x is false, then x, else y(找第一个假)
- not x: if x is false, then True, else False
布尔运算符的优先级比其他非布尔运算符的优先级都要低,也就是说not a == b等价于not (a == b)
比较运算符
八个:<, <=, >, >=, ==, !=, is, is not
数字类型——int, float, complex
数字类型有三个不同的类型:整数、浮点数、复数。
零散的一些信息:
- 布尔值是整数的子类型
- 整数的精度没有限制,既可以无限长
- 浮点数一般通过C语言中的double来实现,可以通过sys.float_info()来查看
- 复数包含实部和虚部,二者都是一个浮点数,以复数z为例,实部和虚部分别为z.read和z.imag
- 标准库还包含了额外的数字类型,fractions表示分数,decimal表示用户自定义精度的浮点数
- +inf/inf表示无穷大,-inf表示无穷小,都是浮点类型
复数除外,所有数字类型有以下运算符:
+, -, *, /, //, %, abs(), int(), float(), complex(), .conjugate(), divmod(), pow(), **
所有numbers.Real类型(整数和浮点数)支持:
- math.trunc(x),截断为整数
- round(x[, n])
- math.floor(x)
- math.ceil(x)
整数类型的二元运算符
- x | y: 或运算
- x ^ y: 异或,不同为1
- x & y: 与运算
- x << n: 左移
- x >> n: 右移
- ~x: 反转
- int.bit_length(): 表示整数所需的二进制位数,包括符号和首部的零
- int.to_bytes()/class method int.from_bytes()
- float.as_integer_ratio()/float.is_integer()/float.hex()/class float.fromhex()
注意:
- 负数不允许左移右移
- 左移相当于乘2,右移相当于除以2
迭代类型
python(二)内置类型
标签:ble 信息 ima python(二) lex 无限 语言 子类 比较运算符
原文地址:https://www.cnblogs.com/YoungF/p/14400795.html