Python的数据类型有int、float、string、bool和complex。
变量声明和赋值
Python不用声明变量,赋值的时候会自动分配空间和类型,如果有多次赋值,下一次赋值会覆盖上一次赋值的类型和数值。
a = 1 # a为int型,没有大小上限
b = 1.5 # b为float型,没有大小上限
c = "abc" # c为string型
d = True # d为bool型
e = 3+4j # e为complex型
a = 2.5 # a被重新定义为float型,并赋值为2.5
类型转换
转为数值
其他进制→十进制
int()
用法一:int(string s)
参数:s为十进制数的字符串
返回:十进制整数
a = int("100")
b = int("00100") # 前导0会被舍弃
print(a,b)
# 输出:100 100
用法二:int(string s, int base)
参数:s为要转换的字符串,base为进制(2≤base≤36,base为36的时候用数字0-9和字母A-Z表示)
返回:十进制整数
a = int("101",2)
b = int("101",5)
c = int("101",8)
d = int("1A",16)
e = int("Z",36)
print(a,b,c,d,e)
# 输出:5 26 65 26 35
十进制→其他进制
bin()、oct()、hex()
用法:bin(int a)、oct(int a)、hex(int a)
参数:十进制整数
返回:二进制、八进制、十六进制的整数
a = bin(3)
b = oct(9)
c = hex(17)
print(a,b,c)
# 输出:0b11 0o11 0x11
转为字符串
str()
用法:str(a)
参数:a可以是int、complex、list、dict、set等
返回:字符串
a = 25
b = 1+6j
c = [1,2,3]
d = {"key":"val"}
e = set([1,2,3])
print(str(a),str(b),str(c),str(d),str(e))
# 输出:25 (1+6j) [1, 2, 3] {'key': 'val'} {1, 2, 3}
字符和ASCII码互转
chr()和ord()
用法:chr(int a)
参数:a为ASCII值
返回:ASCII值a对应的字符
用法:ord( c)
参数:c为单个字符
返回:字符c对应的ASCII值
a = 98
c = 'c'
print(chr(a),ord(c))
# 输出:b 99