• Python中常用数字类型


    1、python中提供了:整数,浮点数,十六进制,八进制,二进制整数,复数,还提供了精度无穷大的整数

    2、在python2.6中 0177八进制 0x177十六进制 0b101010二进制而在python3.0中oo177八进制,0x177十六进制,0b1010二进制

    3、在python2.6中有两种类型的整数:一般整数和长整数,一个整数可以在末尾加上l或者L,将其强制转化为长整数,当长度超过32时,其自动转化为长整数,我们不需要加上l或者L

    在python3.0中,只有一种类型

    4、三种函数

    hex(数字),oct(数字),bin(数字)将数字转化为十六进制,八进制,二进制,而int(字符串,base)将其他进制的数转化为十进制,这个字符串必须能够转化为数字

    >>>num = 10

    >>>print(hex(num))

    >>>print(oct(num))

    >>>print(bin(num))

    >>>hex_num = '0x10'

    >>>oct_num = '0o10'

    >>>bin_num = '0b10'

    >>>print(int(hex_num,16))

    >>>print(int(oct_num,8))

    >>>print(int(bin_num,2))

    #输出结果是

    0xa

    0o12

    0b1010

    16

    8

    2

    5、在python2.6中可以通过 x <> y 判断x,y是否相等,但是在3.0中通过 x!=y判断,

    6、 x < y >z 相当于 x<y and y>z;L[i,j,k]相当于L[slice(i,j,k)]

    >>>x = 3

    >>>y = 7

    >>>z = 4

    >>>print(x<y>z)

    >>>L = [1,2,3,4,5]

    >>>print(L[slice(0,4)])

    7、在python2.6中x/y对于整数相除会舍去小数部分,如果是浮点数相处则会保留小数部分,但在在python3.0中无论是整数还是浮点数都会保留小数部分;无论是Python2.6还是python3.0 x//y都回去掉小数部分,保留整数部分(但是需要注意的是:如果除数和被除数有浮点数,则结果带有小数点的整数),同floor函数等效

    例如:

    >>>print(10/4)

    >>>print(10/4.0)

    >>>print(10//4)

    >>>print(10//4.0)

    输出:

    2.5

    2.5

    2

    2.0

    8、其中floor函数和trunc函数是有区别的

    例如:

    >>>from math import floor,trunc

    >>>print(floor(10/4))

    >>>print(floor(-10/4))

    >>>print(trunc(10/4))

    >>>print(trunc(-10/4))

    输出:

    2

    -3

    2

    -2

    9、hex(数字),oct(数字),bin(数字)能够把数字转为指定进制的数,int(字符串,进制)能够把指定进制的数转化为 10进制数,eval(字符串)具有同样的功能,但是速度不如前一个

    例如:

    >>>print(hex(10))

    >>>print(oct(10))

    >>>print(bin(10))

    >>>print(int('f',16))

    >>>print(int('10',8))

    >>>print(int('10',2))

    输出

    0xa

    0o12

    0b1010

    15

    8

    2

    10、进制数的格式化

    例如:

    >>>print('{0:b},{1:o},{2:x}'.format(2,8,16))

    >>>print('%o,%x' % ( 8,16))

    输出:

    10,10,10

    10,10
    11、常用函数
    pow(a,b) a的b字方
    abs(a) 求a的绝对值
    max(a,b,c,d...)求a,b,c,d,....最大值
    min(a,b,c,d...)求a,b,c,d.....最小值
    sum(列表,集合,元祖)所有元素的和
    math.floor(数字),向下取整
    math.trunc(数字), 截断小数部分,保留整数部分
    round(数字[,精度]) 四舍五入 ,当精度部分存在时,保留精度位小数,当精度不存在时,取整数
    12、内置函数在python3.0中位于builtins模块中,而在python2.6中是__buildtins__
    13、random模块的使用,要使用random必须先导入random,random有以下方法
    random.random()产生一个随机小数
    random.randin(a,b) 返回一个在a,b之间的数字
    random.choice(序列) 返回一个在序列中值
    14、小数类型,小数类型是指精度固定的,得用小数对象Decimal
    Deciaml对象位于decimal模块中,要使用这个对象得先导入才行
    from decimal import Decimal
    Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3') #注意括号中必须是字符串,而且当小数位数不一致时,会自动转化为一致的
    15、在Decimal中有一个从浮点数转化为小数的函数
    Decimal.from_float(1.25) 浮点数1.25能够转话为小数
    16、设置所有小数的精度
    decimal.getcontext().prec = 数字
    17、在Python中有分数Fraction对象
    from fractions import Fraction
    x = Fraction(1,3)
    y = Fraction(2,3)
    print(x) #输出是1/3
    这些分数能够进行+,-,*,/
    分数对象也能够从浮点数转化而来
    例如:Fraction(0.25)或者Fraction('0.25')等价于Fraction(1,4)
    18、集合
    创建一个集合: x = set('abcde'),y = set('bdxyz')
    判断某一个原始是否在集合中: 'e' in x 输出是:true
    x和y的差集 x-y 输出:a,c,e
    x和y的并集 x|y 输出:a,c,b,e,d,y,x,z 相对应的方法是 union
    x和y的交集 x&y 输出:b,d 相对应的方法是intersection
    x和y的交集的补集 x^y a,c,e,y,x,z
    增加一个元素 x.add('u') 输出 abcdeu
    增加几个元素 x.update(set('tq')) 输出abcdetq
    19、创建集合的集中方式
    set(列表) 例如:x = set(['a','b','c'])
    set(字符串) 例如:y = set('abc')
    {数据} 例如:{'a','b','c'}
    20、不能向一个集合中添加序列和字典,但是可以添加元祖,也就是集合中不能包含字典,列表,但是可以包含元祖
    例如:
    x = set('abc')
    x.add([1,2,3]) #错误
    x.add({'a':1,'b':2}) #错误
    x.add((1,2,3,4))
    21、ozenset:元素一经创建,不可增加、删除和修改。因此没有add、pop、discard、remove和所有以_update结尾的方法。但可以作为左值接受赋值。
    frozenset和set混合运算时,返回的值以左边的操作变量为准。
    frozenset(a) | set(b) 的返回值就是frozenset,
    set(a) | frozenset(b) 的返回值就是set:
    22、集合解析
    例如:
    {x**2 for x in [1,2,3,4]}
    或者:{x*2 for x in 'ab'}
    23、在Python中bool中的False当做0,而True当做1
    例如:True ==1 返回值是真
    False==0返回值是0

  • 相关阅读:
    Ubuntu 15.04 开机无法进入图形界面,自动进入emergency mode解决方法
    Docker常用命令
    安装mongodb时报错 configure: error: Cannot find OpenSSL's libraries
    Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration
    mysql varchar类型转换int类型
    elasticsearch 安装 head插件
    解决linux下root运行Elasticsearch异常
    PHP 数组中出现中文乱码,json_encode返回结果为null 或false
    Git命令_git remote与远程仓库管理
    Git命令_git clone和git fork的区别以及pull request含义
  • 原文地址:https://www.cnblogs.com/hbcb533/p/3667628.html
Copyright © 2020-2023  润新知