python int 2.5 函数详解

  • Post category:Python

Python中的int()函数用于将一个字符串或数值转换为整数类型。当参数是数值类型时,直接将数值类型强制转换为整数类型。当参数是字符串类型时,则需要满足以下条件:

  • 字符串中只包含数字或者+/-号,不能包含其他字符,否则会抛出ValueError异常。
  • 当字符串中包含+/-号时,必须只出现在最前面,否则会抛出ValueError异常。

使用语法如下:

int(x, base=10)

参数说明:

  • x:输入的参数,可以是字符串或者数值类型。
  • base:参数x的进制,默认为10进制。当x是字符串类型时,如果没有指定base,则默认基数为10。

下面通过代码实例进行说明:

# 1. 字符串类型参数
a = '123'
b = '-456'
c = '0xFF'

print(int(a))      # 输出:123
print(int(b))      # 输出:-456
print(int(c, base=16))  # 输出:255

# 2. 数值类型参数
d = 3.14
e = -6.66

print(int(d))      # 输出:3
print(int(e))      # 输出:-6

# 3. 参数不合法,抛出异常
f = '12a'
g = '-1+2'

print(int(f))      # 输出:ValueError: invalid literal for int() with base 10: '12a'
print(int(g))      # 输出:ValueError: invalid literal for int() with base 10: '-1+2'

上述代码中,第一组和第二组分别将字符串和数值类型参数转换成整数,并输出结果。第三组和第四组分别传入了不合法的参数,在转换时抛出了ValueError异常。

另外,int()函数还可以用来进行进制转换,通过传入base参数即可实现。下面通过代码实例进行说明:

a = '10101'
b = '0x17F'
c = '0b1111'

print(int(a, base=2))  # 输出:21
print(int(b, base=16))  # 输出:383
print(int(c, base=0))  # 输出:15

上述代码中,第一组和第二组分别将二进制和十六进制字符串转换成整数,并输出结果。第三组传入的字符串是以0b开头的二进制数,但是将base参数设为0,就会自动识别是二进制数进行转换。