python数字类型

#!usr/bin/python
#coding=UTF-8

#Python3数字(Number)
''''''
'''
python数字类型:
    数字类型不允许改变的,如果改变数据类型的值,则将重新分配内存空间
    整型(Int):python3整型没有限制大小,也可以当作Long类型(长整型)使用。
    浮点型(Float):浮点型由整数部分与小数部分组成
    复数(Complex):复数由实数部分和虚数部分构成
'''

num1 = 10
print(id(num1)) #输出 2326657985104
num1 = 5
print(id(num1)) #输出 2326657984944
num1 = 10
print(id(num1)) #输出 2326657985104

'''
python数字类型转换
    int(x):将x转换为一个整数。
    float(x):将x转换到一个浮点数。
    complex(x):将x转换到一个复数,实数部分为 x,虚数部分为 0complex(x, y):将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
'''

val1 = 10.5
print(type(val1))   #输出     <class 'float'>
val2 = int(val1)
print(val2)         #输出     10
print(type(val2))   #输出     <class 'int'>
val3 = complex(val1)
print(val3)         #输出     10.5+0j
print(type(val3))   #输出     <class 'complex'>

a = 10
b = float(a)
print(b,type(b))    #输出     10.0 <class 'float'>
c = 5.2
d = complex(a,c)
print(d,type(d))    #输出     (10+5.2j) <class 'complex'>

'''
python数字运算
    不同类型的数混合运算时会将整数转换为浮点数:
    +-*/%//
    /   除法  总是返回一个浮点数
    %   取余  得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。
    //  取商向下取整  得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。
'''

a = 10
b = 2
c = a / b
print(c,type(c))    #输出     5.0 <class 'float'>
d = a % b
print(d,type(d))    #输出     0 <class 'int'>
d = 10.0 % 3
print(d,type(d))    #输出     1.0 <class 'float'>
d = 10 % 3
print(d,type(d))    #输出     1 <class 'int'>
d = 12 % 5.0
print(d,type(d))    #输出     2.0 <class 'float'>

d = 12 // 2
print(d,type(d))    #输出     6 <class 'int'>
d = 12.0 // 2
print(d,type(d))    #输出     6.0 <class 'float'>
d = 12 // 2.0
print(d,type(d))    #输出     6.0 <class 'float'>
d = 11 // 2
print(d,type(d))    #输出     5 <class 'int'>
d = 11.2 // 2.0
print(d,type(d))    #输出     5.0 <class 'float'>

a = 4 * 5.0 - 3
print(a,type(a))    #输出     17.0 <class 'float'>

'''
python数学函数
    1abs(x)    返回数字的绝对值
    2、ceil(x)   返回数字的向上取整整数
    3、exp(x)    返回x的指数 ex,math.exp(x)
    4、fabs(x)   返回数字的绝对值
    5、floor(x)  返回数字的向下取整整数
    6、log(x)    返回x的自然对数,x > 07、log10(x)  返回以10为基数的x对数,x > 08max(x1,x2,x3,...)     返回给定参数的最大值
    9min(x1,x2,x3,...)     返回给定参数的最小值
    10、modf(x)  返回x的整数部分和小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
    11pow(x,y) 返回 xy(x的y次方)的值
    12round(x,n)   对x进行四舍五入,n代表保留小数点后的位数
    13、sqrt(x)  返回x的平方根
'''
'''
abs() 是内置函数。 
fabs() 函数在 math 模块中定义。
fabs() 函数只对浮点型跟整型数值有效。 abs() 还可以运用在复数中。

pow(x,y) 内置方法会把参数作为整型,而 math 模块则会把参数转换为 float'''

import math     # 导入 math 模块
a = -20.5
b = 20.5
print(abs(a),abs(b))    #输出 20 20.5
print(math.ceil(a),math.ceil(b))    #输出 -20 21
print(math.exp(1))      #输出 2.718281828459045
print(math.fabs(-10))   #输出 10.0
#print(math.fabs(5+6j)) #报错 can't convert complex to float
print(abs(5+6j))        #输出 7.810249675906654
print(math.floor(-10.5),math.floor(5.6))    #输出 -11 5
print(math.log(2),math.log(5))    #输出 0.6931471805599453 1.6094379124341003
print(math.log10(2),math.log10(5))    #输出 0.3010299956639812 0.6989700043360189
print(max(-10,5.5,-6.5,10)) #输出 10
print(min(-10.5,5.5,-6,10)) #输出 -10.5
print(math.modf(12.5),math.modf(-25.62),math.modf(26)) #输出   (0.5, 12.0) (-0.620000000000001, -25.0) (0.0, 26.0)
print(math.pow(2,5),pow(2,5),pow(2.5,5))    #输出 32.0 32 97.65625
print(math.sqrt(2),math.sqrt(4)) #输出 1.4142135623730951 2.0
print(round(5.235,2),round(-5.235,1),round(10,3),round(10.000,3),round(2.675, 2) )   #输出 5.24 -5.2 10 10.0 2.67

print(round(6.236,2),round(6.1351,2)) #输出 6.24 6.14
print(round(11.5), round(12.5), round(13.5))   #输出 12 12 14
print(round(2.5), round(1.5))   #输出 2 2
print(round(6.105,2), round(6.115,2), round(6.125,2), round(6.135,2), round(6.145,2), round(6.155,2), round(6.165,2), round(6.175,2), round(6.185,2), round(6.195,2))
#输出 6.11 6.12 6.12 6.13 6.14 6.16 6.17 6.17 6.18 6.2
print(round(2.105,2), round(2.115,2), round(2.125,2), round(2.135,2), round(2.145,2), round(2.155,2), round(2.165,2), round(2.175,2), round(2.185,2), round(2.195,2))
#输出 2.1 2.12 2.12 2.13 2.15 2.15 2.17 2.17 2.19 2.19
'''
round() 
    1、四舍五入成整数时,把 x 四舍五入为最近的偶数倍数;
    2、浮点数的取舍遵循的是四舍六入五平分,“五平分”就是根据取舍的位数前的小数奇偶性来判断,奇偶平分。奇数则舍弃,偶数则加一。
    
    python3.9,按测试数据来看,round() 取舍为整数时 四舍五入是正确的,而浮点数取舍规则好像也不是四舍六入五平分。
    对于round()方法大家如果有更好的四舍五入规则解释,请留言。
如果开发中数值精度要求高的,不建议使用该函数。
'''


'''
python随机数函数
    choice(seq)     返回一个列表,元组或字符串的随机项,seq 可以是一个列表,元组或字符串。
    randrange([start,] stop [,step])     返回指定递增基数集合中的一个随机数,基数默认值为1。
        start   指定范围内的开始值,包含在范围内。
        stop    指定范围内的结束值,不包含在范围内。
        step    指定递增基数。
    randint(statr,stop)     生成一个指定范围内的整数。
    random()    返回随机生成的一个实数,它在[0,1)范围内。
    seed()      改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数,没有返回值。
    shuffle()   将序列的所有元素随机排序。
    uniform(x,y)将随机生成下一个实数,它在 [x,y] 范围内。
        返回一个浮点数 N,取值范围为如果 x<y 则 x <= N <= y,如果 y<x 则y <= N <= x。
'''
import random
print(random.choice([2,6,4,67,44]),random.choice((2,6,4,67,44)),random.choice('choicetest')) #输出 2 44 c
print(random.randrange(1,100,3), random.randrange(100))    #输出 70 60
print(random.randint(5,10)) #输出 8
print(random.random())   #输出 0.34356751647778594
random.seed(10)
print(random.random())   #输出 0.5714025946899135

list1 = [55,33,22,12,11,5]
random.shuffle(list1)
print(list1)    #输出 [22, 33, 11, 55, 5, 12]
random.shuffle(list1)
print(list1)    #输出 [5, 12, 22, 33, 11, 55]

print(random.uniform(1,10)) #输出 3.9499553045988383
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风之梦丽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值