Python中的内置函数int()可以将一个字符串或浮点数转换为整数。当我们需要在程序中操作整数数据类型时,int()函数就显得非常有用。本文将介绍int()函数的用法、特性以及相关注意事项。
int()函数基本用法
int()函数的基本形式如下:
```python
int(x, base=10)
其中,x表示要转换的字符串或浮点数,base表示进制(默认为10,即十进制)。如果x是字符串,则必须为整数格式,否则会抛出ValueError异常。
示例:
```python
a="1234"
b="0b1001"
c="0o23"
d="0x2F"
print(int(a)) # 输出1234
print(int(b, 2)) # 输出9
print(int(c, 8)) # 输出19
print(int(d, 16)) # 输出47
上述例子展示了各种进制的转换,需要注意的是,当字符串以“0b”、“0o”、“0x”开头时,表示该字符串是二进制、八进制或十六进制表示的整数。int()函数可以根据第二个参数的值进行进制转换。
特别说明:当x为浮点数时,int()会向下取整。
```python
e=3.14
print(int(e)) # 输出3
int()函数的特性
1.可以转换各种字符串类型
int()函数可以将数字字符串、八进制字符串、十六进制字符串和二进制字符串转换为整数。如果x是其他类型的字符串,则会抛出TypeError异常。
```python
s1="123"
s2="0o23"
s3="0xff"
s4="0b1010"
s5="abc"
print(int(s1)) # 输出123
print(int(s2, 8)) # 输出19
print(int(s3, 16))# 输出255
print(int(s4, 2)) # 输出10
print(int(s5)) # TypeError: invalid literal for int() with base 10: 'abc'
2.可以在不同进制之间转换
int()函数可以将字符串转换为整数,并控制其所处的进制。如果x不是字符串,则需要将其转换为字符串才能使用int()函数进行转换。
```python
a=10
print(int(str(a), 2)) # 输出2
print(int(str(a), 8)) # 输出8
print(int(str(a), 16)) # 输出16
3.可以将浮点数转换为整数
当x为浮点数时,使用int()函数可以将其转换为整数,但是由于浮点数的精度问题,可能会出现向下取整的情况。
```python
e=3.99
print(int(e)) # 输出3
4.可以用作舍去小数部分的方法
由于int()函数的特性,也可以用它来舍去小数部分,相当于在取整的同时去掉小数部分。
```python
e=3.99
print(int(e)) # 输出3
注意事项
1.当字符串以“0b”、“0o”、“0x”开头时,表示该字符串是二进制、八进制或十六进制表示的整数。int()函数可以根据第二个参数的值进行进制转换。
2.当x为浮点数时,int()会向下取整,不会四舍五入。
3.如果要把一个非字符串类型的数字转换为整数,需要使用str()函数先将其转换为字符串类型。