Python数值类型

chr( ):将一个整数转换成一个字符。

ord( ):将一个字符转换成它的整数值。

hex( ):hexadecimal ,将整数转换为十六进制的字符串

oct( ):octal,将整数转换为八进制的字符串。(注意:最后结果是字符串)

 

 

int(x, base) 函数

base:进制位,即把x视为几进制转换为十进制数;

int('1234', 8) :把1234视为八进制数,转换为十进制数;

int(x, base) 函数

base:进制位,即把x视为几进制转换为十进制数;

int('1234', 8) :把1234视为八进制数,转换为十进制数;

 

为什么前面要加上0x, 0o, 0b呢?

答:  因为除了十进制,其他进制的数都需要增加引导符号。二进制数以0b引导,八进制数以0x引导,十六进制数以0x引导,其中字母采用大小写均可。

 

 Python3 字符串 | 菜鸟教程 (runoob.com)

格式化:

#功能:在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')

num=10
# 注意:这里直接是% num,没有使用hex(num), https://www.runoob.com/python3/python3-string.html
print('十六进制:%#x' % num)    #使用%x将十进制num格式化为十六进制
# 十六进制:0xa
print('二进制:', bin(num))      #使用bin将十进制num格式化为二进制
# 二进制: 0b1010
print('八进制:%#o' % num)      #使用%o将十进制num格式化为八进制
# 八进制:0o12


#另外一种进制转换格式化方法,https://www.runoob.com/python3/python3-loop.html
print('十进制 --> 十六进制 :%d -> 0x%x' %(num,num))
print('十进制 -->   八进制 :%d -> 0o%o' %(num,num))
print('十进制 -->   二进制 :%d ->'      %num,bin(num))

 

 

 

 

1,int( )函数可以将整数型表示的字符串转换成整型数值,但是不能浮点型表示的字符串转换成整型数值。

int函数可以转换的:

 int 函数不可以转换的:

 

 

2,浮点数

在运行程序得到的结果中,结果并不是10 而是 9.999999999999998,这和浮点型数据以及计算机的二进制有关。有一部分浮点型数据在计算机内部转化为二进制时会变成无限循环小数,计算机不得不四舍五入,当这些二进制数再次转化为十进制数时就会出现误差。

 

 

 

Q1: 下列数据中,可以通过 int( ) 函数转化成整数型数值的是 (C)。

A: '3.1415926'       B: a250        C: 3.1415926            D: '2*3'

Q2: 下列数据中,可以通过函数转换成数值类型的数据是(C)。

A: '树木'         B: a250          C: '3.1415926'           D: '2*3'

tip: 容易混淆的是D项,'2*3'这种是字符串,并不会计算出 '6',所以它不能转换成整数,想转换成整数需要使用eval函数,即 int(eval('2*3')) 可以转换成数值,但int('2*3') 或 float('2*3') 都会报错。

 

posted @ 2023-08-30 22:38  limalove  阅读(172)  评论(0)    收藏  举报