-
函数
-
函数的参数
- 必须参数
- 必须参数指的是在函数定义时明确声明且在调用函数时必须提供的参数。这些参数没有默认值,因此调用函数时必须为它们提供具体的值,否则Python解释器会抛出TypeError异常。
- 关键字参数
- 关键字参数(Keyword Arguments)允许你通过参数名(关键字)而不是参数的位置来给函数传递参数。这使得函数调用更加清晰,因为你可以直接指明每个参数的用途,而不用担心参数的顺序。
- 默认参数
- 默认参数是函数定义时已经赋予了一个默认值的参数。如果在调用函数时没有为这些参数提供值,那么它们将使用定义时的默认值。
- 不定长参数(*号)
- 不定长参数允许你在函数中处理任意数量的参数。有两种常见的方式来实现不定长参数:非关键字不定长参数(*args)和关键字不定长参数(**kwargs)。
-
文档字符串
- 用‘’‘ ’‘’ 将描述文本包裹起来,鼠标放到此函数上会弹出如图的描述文本
![](https://img-blog.csdnimg.cn/img_convert/a4a28d87790e22c286ae83f3cf8b52a9.png)
-
其他函数
- 匿名函数
- 通过lambda关键字来定义的。匿名函数是一种不需要定义函数名的函数,通常用于需要短期、一次性使用的场景,
- 偏函数
- 1偏函数(Partial Function)是一种通过固定一个或多个函数参数的值来创建新函数的技术。这可以通过使用functools.partial来实现,它是functools模块中的一个功能。偏函数允许你“冻结”某些函数参数,从而减少函数调用时需要提供的参数数量。
源码
def greet(name):
"""这是一个打招呼的函数,在下面写入必要的程序"""
print(f"你好, {name}!")
return name
# def ,关键字
# greet ,函数名
# () ,内部是传入的参数
# 可以使用return返回函数内部的值
a1 = greet("human")
print(a1)
# 必须参数
def greet1(person):
return f"你好, {person}"
# 关键字参数
def greet(person, greeting="你好"):
"""
打印一个问候消息。
参数:
person -- 要问候的人的名字
greeting -- 问候语,默认为"你好"
"""
print(f"{greeting}, {person}!")
# 使用位置参数调用函数
greet("Alice")
# 使用关键字参数调用函数,并指定问候语
greet(greeting="早上好", person="Bob")
# 使用位置参数和关键字参数混合调用函数
greet("Charlie", greeting="晚上好")
# 默认参数
def greet3(greeting="你好"):
return f"{greeting}"
print(greet3())
# 不定长参数
def print_all(*args1, **kwargs1):
print("非关键字参数:")
for arg in args1:
print(arg)
print("\n关键字参数:")
for key, value in kwargs1.items():
print(f"{key}: {value}")
# 调用函数,传入非关键字和关键字参数
print_all(1, 2, 3, name='Alice', age=30)
# 调用函数
print(greet("张三"))
# 文档字符串
def add1(a, b):
"""
将两个数字相加。
参数:
a -- 第一个数字
b -- 第二个数字
返回:
两数之和
"""
return a + b
print(add1(1, 2))
# 定义一个简单的lambda函数,用于相加两个数
aadd2 = lambda x, y: x + y
# 多次调用这个lambda函数
print(aadd2(5, 3)) # 输出 8
print(aadd2(10, 7)) # 输出 17
print(aadd2(2, 2)) # 输出 4
from functools import partial
# 假设有一个需要三个参数的函数
def add(x, y, z):
return x + y + z
# 使用partial创建一个偏函数,其中x被固定为10
add_part = partial(add, x=10)
# 现在add_part只需要两个参数
result = add_part(y=5, z=3)
print(result) # 输出 18
def multiply(x, y):
return x * y
# 创建一个偏函数,固定第一个参数为2
double = partial(multiply, 2)
# 调用偏函数
print(double(5)) # 输出 10