-->

Python数字

  • 包括:整数和浮点数、复数、固定精度的十进制数、有理分数、集合、布尔类型、无穷的整数精度、各种数字内置函数和模块
  • 整数拥有无穷精度,浮点数为C语言的双精度,0b开头为二进制,0o开头为八进制,0x开头为十六进制,a+bj表示复数
  • Python表达式操作符
    优先级为由下至上,同一行为左到右。幂运算为右到左,比较运算为左到右连接
  • yield x生成器函数发送协议
    lambda args : expression生成匿名函数
    x if y else z三元选择表达式
    x or y逻辑或(只有x为假,才会计算y)
    x and y逻辑与(只有x为真,才会计算y)
    not x逻辑非
    x in y , x not in y成员关系(可以迭代对象、集合)
    x is y , x is not y对象实体测试
    x < y , x <= y , x > y , x >= y , x == y , x != y大小比较,集合子集和超集值相等性操作符
    x | y位或,集合并集
    x ^ y位异或,集合对称差
    x & y位与,集合交集
    x >> y , x << y左移或右移y位
    x + y , x - y加法/合并,减法,集合差集
    x * y , x % y , x / y , x // y乘法/重复,余数/格式化,除法:真除法或floor除法
    +x , -x一元加法,识别
    ~x按位求补(取反)
    x ** y幂运算
    x[i]索引(序列、映射及其他)点号取属性运算,函数调用
    x[i:j:k]分片
    x(...)调用(函数、方法、类及其他可调用的)
    x.attr属性引用
    (...)元组,表达式,生成器表达式
    [...]列表,列表解析
    {...}字典、集合、集合和字典解析
  • 比较运算可以连续起来(从左到右,用逻辑与规则)
    >>> x < y < z
    True
  • 除法运算分真除法和floor除法
    真除法保留小数部分
    >>> 10 / 4
    2.5
    floor除法截除掉小数部分,返回的类型由操作数类型决定,可能位浮点数
    注意他是floor而不是trunc,为向下舍入,所以负数会变小
    >>>10 / 4
    2
    >>>10 / -4
    -3
  • 位运算与C语言的一样,<< 和 >> 是二进制移位, | 和 & 是二进制或和与的比较
  • 内置数学工具由import math导入,比如math.pi圆周率、pow()幂运算、abs()绝对值、math.round等等
  • 还有随机模块,用import random导入,random.random()使用,得到一个0到1的数字,也可以加入选择间隔
  • decimal模块可以管理小数,decimal.Decimal(),设定小数精度,也可以设定舍入模式
  • Fraction模块用来使用分数,Fraction(1,2)这样
  • 集合