Python中存在四种不同的数字类型(Number):
整数(int)
浮点数(float)
布尔类型(bool)
复数(complex)
注意:数字类型(Number)是不可变的数据类型
Python3之后只有一种整数类型int,表示长整型,不再有之前的long类型。int或整数是完整的数字,正数或负数,没有小数,长度是不限。默认用十进制表示,同时也支持二进制,八进制,十六进制表示方式。
a = 100
print(a) # 100
print(type(a)) # <class ‘int‘>
注: type函数可以查看数据的类型。
二进制整型:
b = 0b10
print(b) # 2
print(type(b)) # <class ‘int‘>
# 获取内存地址
print(id(b)) # 140708807614896
八进制整型:
c = 0o127
print(c) # 87
print(type(c)) # <class ‘int‘>
十六进制整型:
d = 0xa
print(d) # 10
print(type(d)) # <class ‘int‘>
各进制之间转换的内置函数:
bin(i):将i转换为2进制,以0b
开头。
oct(i):将i转换为8进制,以0o
开头。
int(i):将i转换为10进制。
hex(i):将i转换为16进制,以0x
开头。
Python的浮点数也就是数学中的小数,如3.14,2.5,-0.3
str1 = 3.14
print(str1) # 3.14
print(type(str1)) # <class ‘float‘>
科学计数法表示:
str2 = 3.1e4
print(str2) # 31000.0 小数点右移4位
print(type(str2)) # <class ‘float‘>
str3 = 3.1e-2
print(str3) # 0.031 小数点左移2位
在Python中,布尔(bool)只有两个值 True
和 False
var1 = True
print(var1) # True
print(type(var1)) # <class ‘bool‘>
var2 = False
print(var2) # False
复数由实数部分和虚数部分组成,可以用 a+bj
或者 complex(a, b)
表示,复数的实部a和虚部b都是浮点型。
方式1:
complex_var1 = 3 + 10j
print(complex_var1) # (3+10j)
print(type(complex_var1)) # <class ‘complex‘>
complex_var2 = -3j
print(type(complex_var2)) # <class ‘complex‘>
方式2:
complex(实数, 虚数)
var = complex(3, -10)
print(var) # (3-10j)
print(type(var)) # <class ‘complex‘>
float转为int:
var1 = 3.14
print(int(var1)) # 3
bool转为int:
var2 = True
var3 = False
print(int(var2)) # 1
print(int(var3)) # 0
str转为int:
var4 = "1234"
print(int(var4)) # 1234
# 纯数字字符串才可以转,否则报错
var5 = "abc"
print(int(var5)) # invalid literal for int() with base 10: ‘abc‘
int转为float:
a = 123
print(float(a)) # 123.0
bool转为float:
b = True
print(float(b)) # 1.0
c = False
print(float(c)) # 0.0
str转为float:
d = "1234"
print(float(d)) # 1234.0
int转为complex:
x = 10
print(complex(10)) # (10+0j)
float转为complex:
y = 13.4
print(complex(y)) # (13.4+0j)
bool转为complex:
z = True
print(complex(z)) # (1+0j)
u = False
print(complex(u)) # 0j
str转为complex:
v = "345"
print(complex(v)) # (345+0j)
bool类型为假的情况:
print(bool(0)) # False
print(bool(0.0)) # False
print(bool(0j)) # False
print(bool("")) # False
print(bool([])) # False
print(bool(())) # False
print(bool({})) # False
print(bool(None)) # False
注意: None是Python中的关键字,表示空值,是一个特殊的值,类型是 NoneType
。
print(type(None)) # <class ‘NoneType‘>
默认精度从低向高进行转换: bool -> int -> float -> complex
# bool + int
res = True + 10
print(res, type(res)) # 11 <class ‘int‘>
# bool + float
res = True + 3.1
print(res, type(res)) # 4.1 <class ‘float‘>
# bool + complex
res = True + 5-10j
print(res, type(res)) # (6-10j) <class ‘complex‘>
# int + float
res = 10 + 3.14
print(res, type(res)) # 13.14 <class ‘float‘>
# int + complex
res = 10 + 2 + 3j
print(res, type(res)) # (12+3j) <class ‘complex‘>
# float + complex
res = 3.4 + 2 - 4j
print(res, type(res)) # (5.4-4j) <class ‘complex‘>
原文:https://www.cnblogs.com/bubbleboom/p/14645198.html