Python 中函数是组织好的、可重复使用的代码块,用于实现单一或相关联的功能。下面是函数定义和使用的完整说明:
def 函数名(参数1, 参数2=默认值, *args, **kwargs):
"""函数说明文档"""
函数体
return 返回值
def greet(name):
return f"Hello, {name}!"
result = greet("Alice")
print(result) # 输出: Hello, Alice!
def add(a, b):
return a + b
print(add(3, 5)) # 输出 8
def greet(name, message="Hi"):
return f"{message}, {name}!"
print(greet("Tom")) # Hi, Tom!
print(greet("Tom", "Hello")) # Hello, Tom!
*args
)args是可以自己命名的,这里的类型是元组(tuple)
tuple的特点
def sum_all(*args):
return sum(args)
print(sum_all(1, 2, 3)) # 6
**kwargs
)适用于字典类型的入参,kwargs是可以自己命名的,这里的类型是字典(dict)
def show_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
show_info(name="Alice", age=30)
# 输出:
# name: Alice
# age: 30
def square(x):
return x * x
def get_user():
return "Tom", 25
name, age = get_user()
def say_hello():
print("Hello")
greet = say_hello
greet() # Hello
def square(x):
"""返回数字的平方"""
return x * x
print(square.__doc__) # 返回函数说明文档
square = lambda x: x * x
print(square(5)) # 25
常用于排序、过滤等场景:
nums = [3, 1, 2]
nums.sort(key=lambda x: -x)
"""说明文字"""
)下面是几道精选的 Python 函数练习题,每道题都有题目说明和 提示,适合巩固函数的定义与使用。
题目:编写一个函数 get_max(a, b)
,返回两个数中的最大值。
def get_max(a, b):
# TODO: 返回较大的那个数
pass
print(get_max(10, 20)) # 应该输出 20
✅ 提示:使用 if...else
判断大小。
题目:编写一个函数 sum_all(*args)
,接收任意数量的参数,并返回它们的总和。
def sum_all(*args):
# TODO: 返回所有参数的总和
pass
print(sum_all(1, 2, 3)) # 输出 6
print(sum_all(5, 10, 15, 20)) # 输出 50
✅ 提示:使用 sum()
函数或 for
循环遍历 args
。
题目:写一个函数 bmi(weight, height)
,根据体重(kg)和身高(米)计算 BMI = 体重 / 身高²。
def bmi(weight, height):
# TODO: 返回 BMI 指数
pass
print(bmi(60, 1.7)) # 应该输出大约 20.76
✅ 提示:BMI 的单位是 kg/m²,保留小数可用 round(bmi, 2)
。
题目:定义一个函数 greet(name, message="Hello")
,默认打招呼用 “Hello”,可以自定义问候语。
def greet(name, message="Hello"):
# TODO: 打印 message, name!
pass
greet("Tom") # Hello, Tom!
greet("Alice", "Hi") # Hi, Alice!
题目:定义函数 print_info(**kwargs)
,可以接受任意键值对,并打印它们。
kwargs也可以叫其他名字主要是前面有**标识
def print_info(**kwargs):
# TODO: 遍历打印每一个 key: value
pass
print_info(name="Tom", age=22, city="Shanghai")
✅ 提示:用 for key, value in kwargs.items()
遍历。
可以尝试把这些函数写进一个 .py
文件里,比如 my_functions.py
python my_functions.py