python的数值类型,除了魔法方法以为,只有下面的这些方法:
整形的方法有:as_integer_ratio、bit_length、from_bytes、to_bytes、conjugate、imag、real
浮点型的方法有:as_integer_ratio、fromhex、hex、is_integer、conjugate、imag、real
复数的方法有:conjugate、imag、real
1.as_integer_ratio:返回这个数据的分数表示
a = 0.5
ar = a.as_integer_ratio() #0.5的分数表示为2分之1
print(ar)
b = 3
br = b.as_integer_ratio() #3的分数表示为1分之3
print(br)
打印结果为:
(1, 2)
(3, 1)
2.bit_length:返回整数所占的字节位数
a = 3 b = a.bit_length() print(b)
打印结果为:2
3.conjugate、real、imag:这三个都是复数的犯法conjuga方法,real返回复数的实部,imag返回复数的虚部,conjugate返回复数的共轭复数
m = 12+34j mr = m.real mi = m.imag mc = m.conjugate() print(mr) print(mi) print(mc) print("-----------") a = 10 ar = a.real ai = a.imag ac = a.conjugate() print(ar) print(ai) print(ac) print("-----------") f = 111.12 fr = f.real fi = f.imag fc = f.conjugate() print(fr) print(fi) print(fc)
打印结果为:
12.0 34.0 (12-34j) ----------- 10 0 10 ----------- 111.12 0.0 111.12
4.from_bytes、to_bytes:这俩本人也不是很理解,转一篇博文借鉴
https://blog.csdn.net/PYTandFA/article/details/78741339
5.fromhex、hex:hex讲float转化为16进制数,fromhex将16进制数转化为float
f = 12.0
h = f.hex()
print(h)
f1 = float.fromhex('0x1.8000000000000p+3')
print(f1)
打印结果为:
0x1.8000000000000p+3
12.0
6.is_integer:判断浮点数是不是整数
flo1 = 12.1 flo1_isinteger = flo1.is_integer() flo2 = 12.0 flo2_isinteger = flo2.is_integer() print(flo1_isinteger) print(flo2_isinteger)
打印结果:
False
True