Python 常用内置函数
内置函数(Built-in functions)是 Python 中预先定义好的函数,你可以直接使用它们,而无需编写任何额外的 import 导入语句。
它们提供了一种便捷的方式来执行常见任务,极大地增强了代码的可读性并减少了开发时间。
本章将带你探索一些最常用的内置函数、它们的功能以及如何在实际中应用它们。
1. 基础函数
这些函数是最基础的,几乎在每一个 Python 程序中都会用到。
1.1 print():打印输出
print() 函数用于将输出内容显示到控制台。
# print() 函数示例
name = "Alice"
print("Hello,", name + "!") # 拼接字符串以打印问候语
age = 30
print("你今年", age, "岁。") # 混合打印字符串和整数
print(f"明年,你将 {age + 1} 岁。") # 使用 f-strings 进行格式化输出print() 函数可以接收多个参数,默认情况下它们之间会用空格分隔。F-strings(格式化字符串字面量,带有前缀 f)提供了一种非常简洁的方式,将表达式直接嵌入到字符串中进行格式化。
1.2 len():获取长度
len() 函数返回一个序列(如字符串、列表、元组等)的长度(元素个数)。
# len() 函数示例
my_string = "Python"
print(len(my_string)) # 输出: 6
my_list = [1, 2, 3, 4, 5]
print(len(my_list)) # 输出: 5
my_tuple = (10, 20, 30)
print(len(my_tuple)) # 输出: 3len() 函数非常通用,适用于各种数据结构,是确定数据大小的快捷方式。
1.3 type():查看类型
type() 函数返回一个对象的类型。
# type() 函数示例
x = 10
print(type(x)) # 输出: <class 'int'>
y = 3.14
print(type(y)) # 输出: <class 'float'>
z = "Hello"
print(type(z)) # 输出: <class 'str'>
a = [1, 2, 3]
print(type(a)) # 输出: <class 'list'>type() 函数在调试代码和了解当前正在处理的数据类型时非常有帮助。
1.4 input():获取用户输入
input() 函数用于从用户那里读取一行输入(标准输入)。
# input() 函数示例
name = input("请输入你的名字: ")
print("你好,", name + "!")
age = input("请输入你的年龄: ")
age = int(age) # 将输入的字符串转换为整数
print("你今年", age, "岁。")提示:input()函数始终返回一个字符串 (string)。如果用户输入的是数字,你需要使用int()或float()等函数将其转换为相应的数值类型才能进行计算。
2. 类型转换函数
这些函数用于将值从一种数据类型转换为另一种数据类型。
2.1 int():转换为整数
# int() 函数示例
x = "10"
print(type(x)) # 输出: <class 'str'>
y = int(x)
print(type(y)) # 输出: <class 'int'>
print(int(3.14)) # 输出: 3 (截断小数部分)
print(int("1010", 2)) # 输出: 10 (将二进制字符串转换为十进制整数)int() 会直接截断浮点数的小数部分(不会四舍五入)。它还可以将表示不同进制(如二进制、十六进制)数字的字符串转换为十进制整数。
2.2 float():转换为浮点数
# float() 函数示例
x = "3.14"
print(type(x)) # 输出: <class 'str'>
y = float(x)
print(type(y)) # 输出: <class 'float'>
print(float(10)) # 输出: 10.0当你需要对小数进行精确的数学计算时,float() 函数是必不可少的。
2.3 str():转换为字符串
# str() 函数示例
x = 10
print(type(x)) # 输出: <class 'int'>
y = str(x)
print(type(y)) # 输出: <class 'str'>
print(str(3.14)) # 输出: "3.14"
print(str(True)) # 输出: "True"当你需要将数字或其他数据类型与文本拼接,或者希望将非文本数据表示为文本时,str() 是关键。
2.4 bool():转换为布尔值
# bool() 函数示例
print(bool(0)) # 输出: False
print(bool(1)) # 输出: True
print(bool("")) # 输出: False (空字符串)
print(bool("Hello")) # 输出: True
print(bool([])) # 输出: False (空列表)
print(bool([1, 2])) # 输出: Truebool() 函数在条件语句和逻辑操作中经常用到。它的转换规则是:0、空字符串 "" 以及空的集合(如 [], {})计算结果为 False,而其他有内容的值都计算为 True。
3. 数学运算函数
这些函数用于执行常见的数学运算。
3.1 abs():绝对值
print(abs(-10)) # 输出: 10
print(abs(5)) # 输出: 5
print(abs(-3.14)) # 输出: 3.14当你需要确保一个值为正数,而忽略它原来的正负号时,abs() 非常有用。
3.2 pow():幂运算
print(pow(2, 3)) # 输出: 8 (2 的 3 次方)
print(pow(5, 2)) # 输出: 25 (5 的 2 次方)
print(pow(10, -1)) # 输出: 0.1 (10 的 -1 次方)pow(x, y) 等同于 x ** y。此外,它还可以接受第三个参数来执行模幂运算(这在密码学中非常有用)。
3.3 round():四舍五入
print(round(3.14159, 2)) # 输出: 3.14 (保留 2 位小数)
print(round(3.14159)) # 输出: 3 (四舍五入到最接近的整数)
print(round(3.5)) # 输出: 4 (遇到 .5 时,向偶数舍入,即银行家舍入法)round() 允许你将数字舍入到指定的小数位数。
3.4 max() 与 min():最大值与最小值
# max() 寻找最大值
print(max(1, 2, 3, 4, 5)) # 输出: 5
print(max([1, 2, 3, 4, 5])) # 输出: 5
print(max("a", "b", "c")) # 输出: c (按字母顺序比较)
# min() 寻找最小值
print(min(1, 2, 3, 4, 5)) # 输出: 1
print(min([1, 2, 3, 4, 5])) # 输出: 1
print(min("a", "b", "c")) # 输出: a这两个函数是寻找集合中或一组值中的极值(最大/最小值)的利器。
4. 序列操作函数
这些函数主要对列表、元组和字符串等序列进行操作。
4.1 sum():求和
print(sum([1, 2, 3, 4, 5])) # 输出: 15
print(sum((10, 20, 30))) # 输出: 60
print(sum([1, 2, 3], 10)) # 输出: 16 (列表的和,再加上起始值 10)sum() 返回可迭代对象中所有元素的总和。它可以接受一个可选的第二个参数,作为求和的初始累加值。
4.2 sorted():排序并返回新列表
numbers = [5, 2, 8, 1, 9]
print(sorted(numbers)) # 输出: [1, 2, 5, 8, 9]
print(numbers) # 输出: [5, 2, 8, 1, 9] (原列表保持不变)
letters = "Python"
print(sorted(letters)) # 输出: ['P', 'h', 'n', 'o', 't', 'y']
print(sorted(numbers, reverse=True)) # 输出: [9, 8, 5, 2, 1] (降序排列)与列表自带的 .sort() 方法不同,sorted() 会返回一个新的已排序的列表,而不会改变原始序列。它还可以利用 reverse=True 进行降序排列。
4.3 reversed():反转序列
numbers = [1, 2, 3, 4, 5]
reversed_numbers = reversed(numbers)
print(list(reversed_numbers)) # 输出: [5, 4, 3, 2, 1]
letters = "Python"
reversed_letters = reversed(letters)
print("".join(reversed_letters)) # 输出: nohtyPreversed() 会返回一个逆序迭代器(iterator)。为了查看结果,你通常需要使用 list() 将其转换为列表,或者用 join() 拼接回字符串。
4.4 enumerate():枚举序列
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(index, fruit)
# 输出:
# 0 apple
# 1 banana
# 2 cherryenumerate() 在遍历序列时非常有用,它会同时返回元素的索引 (index) 和值 (value),免去了你手动维护一个计数器的麻烦。
5. 实用工具函数
这些函数为不同的杂项任务提供了有用的支持。
5.1 help():获取帮助文档
# help(print) # 在控制台显示关于 print() 函数的官方帮助文档
# help(len) # 显示关于 len() 函数的文档当你对某个函数或模块的用法感到困惑时,help() 是无价之宝。
5.2 isinstance():类型检查
x = 10
print(isinstance(x, int)) # 输出: True
print(isinstance(x, float)) # 输出: False
y = [1, 2, 3]
print(isinstance(y, list)) # 输出: True
print(isinstance(y, tuple)) # 输出: Falseisinstance() 用于检查一个对象是否属于某个特定的类或类型。在动态类型的 Python 中,这非常适合用于数据验证。
6. 实际案例与演示
下面结合实际应用场景,展示如何综合使用这些内置函数。
6.1 案例 1:计算平均值
结合使用 sum() 和 len()。
numbers = [10, 20, 30, 40, 50]
total = sum(numbers)
count = len(numbers)
average = total / count
print("平均值是:", average) # 输出: 平均值是: 30.06.2 案例 2:用户输入与数学计算
结合使用 input(), float() 和 pow()。
radius_str = input("请输入圆的半径: ")
radius = float(radius_str) # 将字符串转换为浮点数
area = 3.14159 * pow(radius, 2) # 计算圆的面积
print("圆的面积是:", area)6.3 案例 3:寻找数据集的极值
结合使用 max() 和 min()。
numbers = [45, 12, 78, 3, 56]
largest = max(numbers)
smallest = min(numbers)
print("最大数是:", largest) # 输出: 最大数是: 78
print("最小数是:", smallest) # 输出: 最小数是: 3