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
原文:https://www.cnblogs.com/lybolg/p/12499446.html