[Python 基础课程]常用函数
在 Python 编程中,函数是组织代码、实现复用和提高可读性的核心工具。除了我们自己定义的函数,Python 内置了许多功能强大的常用函数。这些函数无处不在,理解并熟练运用它们能让你编写更简洁、更高效的代码。本章将介绍一些 Python 3 中最常用的内置函数。
类型转换函数
类型转换是编程中常见且重要的操作,这些函数能帮助你在不同数据类型之间进行转换。
int()
:转换为整数
int()
函数可以将数字或符合整数格式的字符串转换为整数。
num_str = "123"
float_num = 45.67int_from_str = int(num_str)
# 会截断小数部分
int_from_float = int(float_num)# 输出: 123
print(f"字符串 '123' 转换为整数: {int_from_str}")
# 输出: 45
print(f"浮点数 45.67 转换为整数: {int_from_float}")
float()
:转换为浮点数
float()
函数将数字或符合浮点数格式的字符串转换为浮点数。
int_num = 100
num_str = "98.76"float_from_int = float(int_num)
float_from_str = float(num_str)# 输出: 100.0
print(f"整数 100 转换为浮点数: {float_from_int}")
# 输出: 98.76
print(f"字符串 '98.76' 转换为浮点数: {float_from_str}")
str()
:转换为字符串
str()
函数将任何数据类型转换为其字符串表示形式。
number = 123
list_data = [1, 2, 3]str_from_num = str(number)
str_from_list = str(list_data)# 输出: '123'
print(f"整数 123 转换为字符串: '{str_from_num}'")
# 输出: '[1, 2, 3]'
print(f"列表 [1, 2, 3] 转换为字符串: '{str_from_list}'")
list()
:转换为列表
list()
函数可以将可迭代对象(如字符串、元组、集合、字典的键等)转换为列表。
my_string = "hello"
my_tuple = (1, 2, 3)list_from_str = list(my_string)
list_from_tuple = list(my_tuple)# 输出: ['h', 'e', 'l', 'l', 'o']
print(f"字符串 'hello' 转换为列表: {list_from_str}")
# 输出: [1, 2, 3]
print(f"元组 (1, 2, 3) 转换为列表: {list_from_tuple}")
tuple()
:转换为元组
tuple()
函数与 list()
类似,可以将可迭代对象转换为元组。
my_list = [1, 2, 3]
my_string = "world"tuple_from_list = tuple(my_list)
tuple_from_str = tuple(my_string)# 输出: (1, 2, 3)
print(f"列表 [1, 2, 3] 转换为元组: {tuple_from_list}")
# 输出: ('w', 'o', 'r', 'l', 'd')
print(f"字符串 'world' 转换为元组: {tuple_from_str}")
set()
:转换为集合
set()
函数可以将可迭代对象转换为集合,集合的一个重要特性是元素唯一且无序。
my_list_duplicates = [1, 2, 2, 3, 4, 4, 5]
my_string = "banana"set_from_list = set(my_list_duplicates)
set_from_str = set(my_string)# 输出: {1, 2, 3, 4, 5}
print(f"列表 [1, 2, 2, 3, 4, 4, 5] 转换为集合: {set_from_list}")
# 输出: {'b', 'a', 'n'} (顺序可能不同)
print(f"字符串 'banana' 转换为集合: {set_from_str}")
数学运算函数
这些函数能帮助你进行常见的数学计算。
len()
:获取长度
len()
函数返回一个对象的长度或项目数,常用于字符串、列表、元组、字典、集合等。
my_string = "Python"
my_list = [10, 20, 30, 40]
my_dict = {"a": 1, "b": 2}# 输出: 6
print(f"字符串 'Python' 的长度: {len(my_string)}")
# 输出: 4
print(f"列表 [10, 20, 30, 40] 的长度: {len(my_list)}")
# 输出: 2 (键值对的数量)
print(f"字典 {{'a': 1, 'b': 2}} 的长度: {len(my_dict)}")
sum()
:求和
sum()
函数对可迭代对象(如列表、元组)中的所有数字求和。
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
# 输出: 15
print(f"列表 {numbers} 的和: {total}")# 也可以指定一个起始值
total_with_start = sum(numbers, 10)
# 输出: 25
print(f"列表 {numbers} 从 10 开始的和: {total_with_start}")
max()
:求最大值
max()
函数返回可迭代对象中的最大项,或者多个参数中的最大值。
numbers = [10, 5, 20, 15]
max_num = max(numbers)
# 输出: 20
print(f"列表 {numbers} 中的最大值: {max_num}")max_of_args = max(100, 20, 300, 50)
# 输出: 300
print(f"参数中的最大值: {max_of_args}")
min()
:求最小值
min()
函数返回可迭代对象中的最小项,或者多个参数中的最小值。
numbers = [10, 5, 20, 15]
min_num = min(numbers)
# 输出: 5
print(f"列表 {numbers} 中的最小值: {min_num}")min_of_args = min(100, 20, 300, 50)
# 输出: 20
print(f"参数中的最小值: {min_of_args}")
abs()
:求绝对值
abs()
函数返回一个数的绝对值。
neg_num = -15
pos_num = 10
float_num = -3.14# 输出: 15
print(f"{neg_num} 的绝对值: {abs(neg_num)}")
# 输出: 10
print(f"{pos_num} 的绝对值: {abs(pos_num)}")
# 输出: 3.14
print(f"{float_num} 的绝对值: {abs(float_num)}")
round()
:四舍五入
round()
函数对数字进行四舍五入。你可以选择指定小数位数。
pi = 3.1415926
# 四舍五入到两位小数
rounded_pi = round(pi, 2)
# 四舍五入到最近的整数
rounded_int = round(pi)# 输出: 3.14
print(f"{pi} 四舍五入到两位小数: {rounded_pi}")
# 输出: 3
print(f"{pi} 四舍五入到整数: {rounded_int}")
# 注意:对于 .5,Python 倾向于舍入到偶数,所以是 2
print(f"2.5 四舍五入到整数: {round(2.5)}")
# 输出: 4
print(f"3.5 四舍五入到整数: {round(3.5)}")
输入输出函数
这些函数用于与用户进行交互或进行简单的数据输出。
print()
:打印输出
print()
函数是你在 Python 学习中最常用的函数之一,用于将内容输出到控制台。
name = "Alice"
age = 30print("Hello, World!")
print("我的名字是", name, ",我今年", age, "岁。")# 使用 f-string (推荐)
print(f"我的名字是 {name},我今年 {age} 岁。")# 可以改变分隔符 (sep) 和结尾符 (end)
# 输出: apple | banana | cherry.
print("apple", "banana", "cherry", sep=" | ", end=".\n")
print("这是新的一行。")
input()
:获取用户输入
input()
函数用于从用户那里获取一行文本输入。它会暂停程序的执行,直到用户输入内容并按下回车键。
prompt = input("请输入你的名字: ")
print(f"你好, {prompt}!")# 注意:input() 函数总是返回字符串类型
num1_str = input("请输入一个数字: ")
# 需要手动转换为整数类型
num1 = int(num1_str)
print(f"你输入的数字是: {num1}, 类型是: {type(num1)}")
其他常用函数
除了上面分类的函数,还有一些同样重要且常用的内置函数。
type()
:获取数据类型
type()
函数返回一个对象的类型。
a = 10
b = "hello"
c = [1, 2]# 输出: <class 'int'>
print(f"变量 a 的类型: {type(a)}")
# 输出: <class 'str'>
print(f"变量 b 的类型: {type(b)}")
# 输出: <class 'list'>
print(f"变量 c 的类型: {type(c)}")
range()
:生成数字序列
range()
函数用于生成一个整数序列。它通常用于 for
循环中。
range(stop)
: 从 0 开始,到stop-1
结束。range(start, stop)
: 从start
开始,到stop-1
结束。range(start, stop, step)
: 从start
开始,到stop-1
结束,步长为step
。
# 从 0 到 4
for i in range(5):# 输出: 0 1 2 3 4print(i, end=" ")
print()# 从 2 到 4
for i in range(2, 5):# 输出: 2 3 4print(i, end=" ")
print()# 从 0 到 9,步长为 2
for i in range(0, 10, 2):# 输出: 0 2 4 6 8print(i, end=" ")
print()
enumerate()
:枚举可迭代对象
enumerate()
函数在遍历可迭代对象时,同时返回索引和对应的值。
fruits = ["apple", "banana", "cherry"]# 输出:
# 索引: 0, 水果: apple
# 索引: 1, 水果: banana
# 索引: 2, 水果: cherry
for index, fruit in enumerate(fruits):print(f"索引: {index}, 水果: {fruit}")
zip()
:打包迭代器
zip()
函数可以将多个可迭代对象打包成一个元组的迭代器,每个元组包含对应位置的元素。
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 22]# 输出:
# Alice is 25 years old.
# Bob is 30 years old.
# Charlie is 22 years old.
for name, age in zip(names, ages):print(f"{name} is {age} years old.")
sorted()
:排序
sorted()
函数返回一个新的已排序的列表,而不会改变原始的可迭代对象。
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
# 原始列表不变
print(f"原始列表: {numbers}")
# 输出: [1, 1, 2, 3, 4, 5, 6, 9]
print(f"排序后的列表: {sorted_numbers}")strings = ["banana", "apple", "cherry"]
sorted_strings = sorted(strings)
# 输出: ['apple', 'banana', 'cherry']
print(f"排序后的字符串列表: {sorted_strings}")# 倒序排序
sorted_desc = sorted(numbers, reverse=True)
# 输出: [9, 6, 5, 4, 3, 2, 1, 1]
print(f"倒序排序后的列表: {sorted_desc}")
总结
本章我们介绍了 Python 3 中一系列非常常用的内置函数,它们涵盖了类型转换、数学运算、输入输出以及其他实用功能。
- 类型转换函数 (
int()
,float()
,str()
,list()
,tuple()
,set()
) 帮助你在不同数据类型间灵活切换。 - 数学运算函数 (
len()
,sum()
,max()
,min()
,abs()
,round()
) 简化了常见的计算。 - 输入输出函数 (
print()
,input()
) 实现了程序与用户的基本交互。 - 其他实用函数 (
type()
,range()
,enumerate()
,zip()
,sorted()
) 提供了更多高级的数据处理和迭代能力。