喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远!
1.数值类型的转换
- int()可以将字符串或浮点数转换成整数,也可以用于进制数转换
- float()可以将字符串或整数转换成浮点数
实际上它们表示根据给定参数在内存中构造一个整数、浮点数对象,所以可以用来作为类型转换工具。而且,前面已经说过,int()可以用来截断小数位。
1 >>> int(3.5) # 浮点数 -> 整数2 33 >>> int(-3.6) # 浮点数 -> 整数4 -35 >>> int('3') # 字符串 -> 整数6 378 >>> float(3) # 整数 -> 浮点数9 3.010 >>> float('3') # 字符串 -> 浮点数11 3.0
int()还可用于进制数转换。
2.进制整数的转换
- oct():十进制整数转换成八进制
- hex():十进制整数转换成十六进制整数
- bin():十进制整数转换成二进制
例如,将十进制的64转换成二进制、八进制、十六进制整数。
1 >>> bin(64),oct(64),hex(64)2 ('0b1000000', '0o100', '0x40')
int()函数也能进行进制转换,它的用法格式为:
int(x, base=10)
base指定要将x解释成哪个进制位的数,然后转换成十进制数,也就是前面说的构造一个整数对象。不指定base时,默认解释成10进制。
base的值可以是0或2-36之间的任意一个数,base=0也表示解释成10进制。
例如,将二进制的数转换为十进制整数。
1 >>> int('0b11',base=2)2 33 >>> int('11',base=2)4 3
既然x要解释成某个进制的数,那么超出这个进制的数自然不能出现。例如:
- 将x解释成二进制数的时候,x里就不能包含除0、1之外的数(当然,前缀0b除外);
- 解释成7进制,就不能出现7、8、9;
- 解释成8进制,就不能出现8、9;
- 解释成11进制,就只能出现0-9、a/A这些字符;
- 12进制就只能出现0-9、aAbB这几个字符;
- 36进制就只能出现0-9、a-zA-Z这几个字符。
例如,将一个字符串解释为15进制,并转换成整数。15进制只能出现0-9、a-eA-E这几个字符。
1 >>> int('93E', base=15)2 2084
觉得文章还可以的话不妨收藏起来慢慢看,有任何意见或者看法欢迎大家评论!