一、基础参数类型
在Python中,函数参数类型有普通参数、默认参数、可变参数和关键字参数四种类型。其中最基础的是普通参数,也就是通过位置传递参数的方式,直接传入函数中即可使用。
def add(a, b): return a + b print(add(1, 2)) # 输出3
在这个例子中,add函数的参数是a和b,通过在函数调用时传入两个参数1和2,add函数将返回两数之和3。
二、默认参数
默认参数是指在定义函数时,给某个参数设置默认值,在调用函数时如果没有传入该参数,则会使用默认值。
def greet(name, message="Hello"):
print(f"{message}, {name}!")
greet("Alice") # 输出Hello, Alice!
greet("Bob", "Hi") # 输出Hi, Bob!
在这个例子中,greet函数有两个参数name和message,其中message的默认值为"Hello"。当调用greet("Alice")时,函数将使用默认值输出Hello, Alice!,而当调用greet("Bob", "Hi")时,函数会使用传入的"Hi"输出Hi, Bob!。
三、可变参数
可变参数允许函数在声明时不确定传入参数的数量。在Python中,可变参数一共有两种类型:可变位置参数和可变关键字参数。
1. 可变位置参数
可变位置参数使用*号来声明。在函数中,可变位置参数被视为一个元组,这个元组包含了传入函数的所有位置参数。
def add(a, b, *args):
for arg in args:
a += arg
return a + b
print(add(1, 2, 3, 4)) # 输出10
在这个例子中,add函数有三个参数a、b和*args。当调用add(1, 2, 3, 4)时,函数将使用1和2作为a和b的值,并将剩余的参数3和4作为一个元组传递给*args,函数将使用循环计算出所有参数的总和并返回。
2. 可变关键字参数
可变关键字参数使用**号来声明。在函数中,可变关键字参数被视为一个字典,这个字典包含了所有传入函数的关键字参数。
def print_info(name, age, **kwargs):
print(f"Name: {name}, Age: {age}")
if "city" in kwargs:
print(f"City: {kwargs['city']}")
if "job" in kwargs:
print(f"Job: {kwargs['job']}")
print_info("Alice", 25, city="New York", job="Engineer")
# 输出Name: Alice, Age: 25
# 输出City: New York
# 输出Job: Engineer
在这个例子中,print_info函数有三个参数name、age和**kwargs。当调用print_info("Alice", 25, city="New York", job="Engineer")时,函数将使用"Alice"和25作为name和age的值,并将剩余的参数{"city": "New York", "job": "Engineer"}作为一个字典传递给**kwargs,函数将使用if语句判断字典中是否包含"city"和"job"关键字,并输出相应的值。
四、关键字参数
关键字参数使用=号来指定参数的名字。这种方式允许函数在调用时指定参数名,而不需要按照位置顺序传递参数。
def greet(name, message):
print(f"{message}, {name}!")
greet(message="Hi", name="Alice") # 输出Hi, Alice!
在这个例子中,greet函数有两个参数name和message。当调用greet(message="Hi", name="Alice")时,函数将使用"Alice"和"Hi"作为name和message的值,并输出Hi, Alice!。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/198042.html
微信扫一扫
支付宝扫一扫