[入门-6] 基础类型之数字

来源:互联网 发布:龙应台安德烈现状知乎 编辑:程序博客网 时间:2024/06/05 20:59

基础

  • 数字提供标量的存储和直接访问,属于不可更改类型,更新数值就会生成新的对象
  • 不可变类型的更新都是如此的
  • 类型
    • 布尔型 True False
    • 标准整型
    • 长整型,非常长好吧
    • 双精度浮点型
#createaInt = 1aLong = -999999999999999999999999999999LaFloat = 3.14, -1.4.2E-10, 4.3e25aComplex = 1.12 + 4.56JaComplex.realaComplex.imagaComplex.conjugate()#updateaInt +=2aFLoat = 0.9#deletedel aInt

操作符

  • 类型A和类型B做运算,会有类型提升,整型->长整型->浮点->复数
#逻辑><==!=#支持3 > 2 >1#运算+-***%/  #真正的除法// #地板除4 ** -1   #error4.0 * -1  #0.254.2 ** 3.2(2 + 3J) ** 2#位运算(仅用于整数)~ #取反-(num + 1)&|^ #按位异或<<>>#负数按照正数的2进制补码处理#左移和右移等同于无溢出的2的N次幂运算

内建函数和工厂函数

#标准类型函数cmp()str()type()#数字类型函数#转换工厂函数bool(obj) #返回obj.__nonzero__()方法的值int(obj, base=10)    #string.stoi()long(obj, base=10)   #string.atol()float(obj)           #string.atof()complex(str)complex(real,inag=0.0)#功能函数abs(num) #对于复数,返回math.sqrt(num.real**2 + num.imag**2)coerce(a, b) #返回类型转换完毕后的元组,就是对a和b做内置的类型提升,但是不做运算,直接返回divmod(num1,num2)     #返回商和余数的元组,#整型:地板除+取余操作,#浮点数:商是math.floor(num1/num2)#复数:商是math.floor((num1/num2).real)pow(num1,num2,mod=1)#指数后和第三个参数做取余计算round(flt,ndig=0)#四舍五入计算取整,保留多少位小数int()  #直接截去小数部分,返回整型floor()#最接近原数字但是小于原数字的整型,返回浮点型round()#最接近原数的整型,返回浮点型#仅用于整型的函数hex(num) #将数字转换为16进制,以字符串形式返回oct(num) #将数字转换为8进制,以字符串形式返回chr(num) #将ASCII值得数字转换为ASCII字符,0<=num<=255ord(num) #接受一个ASCII或unicode字符(长度为1的字符串),返回相应的ASCII和unicode码值unichr(num) #接收unicode码值,返回对应的unicode字符

布尔类型

  • 没有__nonzero__()方法的对象默认返回True
  • 值为0的任何数字或空集(空列表、空元组、空字典…)都返回False
  • 数学运算中,True=1,False=0

“真正的浮点数”,十进制数

from decimal import Decimalprint 0.1dec = Decimal('0.1')print dec

其他模块

  • decimal
  • array
  • math/cmath
  • operator
  • random
    • randint()
    • randrange()
    • uniform()
    • random()
    • choice() :随机给定序列的一个元素

Reference

Python核心编程

0 0
原创粉丝点击