村长
发布于 2025-03-19 / 12 阅读
0
0

Python: int()函数

int() 是 Python 中的一个内置函数,用于将一个字符串或其他数据类型转换为整数。它有多种用法,常见的包括将字符串转换为整数、指定进制转换、以及处理浮点数等。以下是 int() 函数的详细用法。

基本语法

int(x=0, base=10)

参数

• x:要转换的值。可以是字符串、浮点数、布尔值或其他数字类型。

• base:可选参数,指定字符串转换为整数时的进制基数,默认为 10(十进制)。如果 x 是字符串,base 必须是 2 到 36 之间的整数。

返回值

int() 函数返回一个整数。

示例 1:将浮点数转换为整数

float_num = 3.14

int_num = int(float_num)

print(int_num)  # 输出:3

说明:将浮点数转换为整数时,会直接截断小数部分,而不是四舍五入。

示例 2:将字符串转换为整数

str_num = "123"

int_num = int(str_num)

print(int_num)  # 输出:123

说明:字符串必须是有效的数字字符串,否则会抛出 ValueError。

示例 3:指定进制转换

binary_str = "1010"

int_num = int(binary_str, 2)  # 指定进制为 2

print(int_num)  # 输出:10

说明:base 参数用于指定字符串的进制。例如,int("1010", 2) 表示将二进制字符串 "1010" 转换为十进制整数。

3.1 二进制字符串转换为十进制整数

s = "1010"  # 二进制
number = int(s, 2)
print(number)  # 输出: 10(十进制)

3.2 八进制字符串转换为十进制整数

python

s = "12"  # 八进制
number = int(s, 8)
print(number)  # 输出: 10(十进制)

3.3 十六进制字符串转换为十进制整数

python

s = "a"  # 十六进制
number = int(s, 16)
print(number)  # 输出: 10(十进制)

示例 4:将布尔值转换为整数

bool_true = True

bool_false = False

int_true = int(bool_true)

int_false = int(bool_false)

print(int_true)  # 输出:1

print(int_false)  # 输出:0

说明:布尔值 True 转换为整数时为 1,布尔值 False 转换为整数时为 0。

示例 5:处理无效输入

try:

    invalid_str = "abc"

    int_num = int(invalid_str)

except ValueError:

    print("输入的字符串不是有效的数字!")  # 输出:输入的字符串不是有效的数字!

说明:如果字符串不能被转换为整数(例如包含非数字字符),会抛出 ValueError。

注意事项

1. 错误处理:

• 如果尝试将非数字字符串(如 "abc")转换为整数,会抛出 ValueError。

• 如果字符串包含前导或尾随空格,可以通过 strip() 方法去除空格后再转换。

str_num = "  123  "

int_num = int(str_num.strip())

print(int_num)  # 输出:123

2. 进制转换:

• 如果使用 base 参数,字符串必须是有效的数字字符串,并且符合指定的进制规则。

• 例如,int("1010", 2) 是有效的,但 int("1010", 1) 会抛出 ValueError,因为基数必须在 2 到 36 之间。

3. 浮点数转换:

• 浮点数转换为整数时,会直接截断小数部分,而不是四舍五入。如果需要四舍五入,可以使用 round() 函数。

float_num = 3.7

int_num = int(float_num)  # 输出:3

rounded_num = round(float_num)  # 输出:4

int() 函数在 Python 中非常常用,用于将各种类型的数据转换为整数。通过合理使用它,可以实现类型转换和数据处理。

总结

int() 函数在 Python 中非常有用,可以将字符串或其他数据类型转换为整数。你可以:

  • 将有效的数字字符串转换为整数。

  • 根据指定的进制(如二进制、八进制、十六进制等)转换字符串为整数。

  • 将浮点数取整转换为整数(去除小数部分)。

  • 处理非法值时,需要小心异常的抛出。

这个函数是 Python 中非常常见且重要的工具,适用于各种数据处理场景。


评论