Python 的内置函数 int() 是一个用于将数字或字符串转换为整数的函数。它是 Python 中最基础的类型转换函数之一,在数据处理、类型转换和数值计算中经常使用。
基本语法
int(x=0, base=10)
x:要转换的对象,可以是数字或字符串(默认为 0)base:进制基数(默认为 10),取值范围 2-36
主要功能
-
数字转换:
- 将浮点数转换为整数(截断小数部分)
int(3.14) # 返回 3 int(-2.9) # 返回 -2 -
字符串转换:
- 将数字字符串转换为整数
int("42") # 返回 42 int("-100") # 返回 -100- 支持不同进制字符串的转换(需指定 base 参数)
int("1010", 2) # 二进制转十进制,返回 10 int("FF", 16) # 十六进制转十进制,返回 255 -
类型转换:
- 将布尔值转换为整数
int(True) # 返回 1 int(False) # 返回 0
注意事项
-
转换失败时会抛出 ValueError:
int("abc") # 抛出 ValueError -
使用 base 参数时:
- 只能转换字符串类型
- 字符串必须符合指定的进制规则
int("12", 2) # 抛出 ValueError(二进制不能有数字2) -
大整数处理:
- Python 的整数没有大小限制(仅受内存限制)
应用场景
-
用户输入处理:
user_input = input("请输入数字:") try: num = int(user_input) except ValueError: print("输入的不是有效数字") -
进制转换工具:
def hex_to_dec(hex_str): return int(hex_str, 16) -
数据清洗:
dirty_data = ["1", "2.5", "three", "4"] clean_data = [int(x) for x in dirty_data if x.isdigit()] -
数学计算:
# 计算阶乘 def factorial(n): return 1 if int(n) <= 1 else n * factorial(n-1)
性能特点
相关函数
int() 函数是 Python 编程中最常用的基础函数之一,熟练掌握它的使用可以大大提高代码的健壮性和灵活性。