【无标题】Python --- Day5 函数的位置传参、关键词传参及其可变性和解包操作

系列文章目录

前言

今天小伙伴们跟我进入第五天的Python课程学习,主要是关于函数的位置传参,关键传参和可变性和解包传参这其中的具体定义以及它们的使用场景

`

一、 调用传参

函数调用时传递参数的方式有多种,包括位置传参、关键词传参、多个参数解包、参数默认值等。

1.1 位置传参

最常见的传参方式,参数按定义的顺序依次传入函数。

示例:

def greet(name, age):
    print(f"Hello, {name}. You are {age} years old.")

greet("Alice", 30)  # 输出: Hello, Alice. You are 30 years old.

1.2 关键词传参

通过指定参数的名称来传值,无顺序限制,代码可读性较高。

示例:

def greet(name, age):
    print(f"Hello, {name}. You are {age} years old.")

greet(age=30, name="Alice")  # 输出: Hello, Alice. You are 30 years old.

1.3 参数默认值

定义函数时可为某些参数指定默认值,如果不传参则使用默认值。默认值参数必须位于无默认值参数的后面。

示例:

def greet(name, age=25):
    print(f"Hello, {name}. You are {age} years old.")

greet("Alice")       # 输出: Hello, Alice. You are 25 years old.
greet("Bob", 30)     # 输出: Hello, Bob. You are 30 years old.

1.4 可变位置参数

使用 ∗args*argsargs 可让函数接受任意数量的位置参数。∗args*argsargs 会将多余的位置参数收集成一个元组。

示例:

def sum_numbers(*args):
    return sum(args)

print(sum_numbers(1, 2, 3))     # 输出: 6
print(sum_numbers(1, 2, 3, 4))  # 输出: 10

1.5 可变关键词参数

使用 ∗∗kwargs**kwargskwargs 可以让函数接受任意数量的关键词参数。∗∗kwargs**kwargskwargs 会将多余的关键词参数收集成一个字典。

示例:

def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="Alice", age=30)
# 输出:
# name: Alice
# age: 30

1.6 多参数解包

Python 允许在调用函数时解包序列或字典,使其作为位置参数或关键词参数传递给函数。

1.6.1 解包位置参数

使用 ∗* 解包

def greet(name, age):
    print(f"Hello, {name}. You are {age} years old.")

args = ["Alice", 30]
greet(*args)  # 输出: Hello, Alice. You are 30 years old.

1.6.2 解包关键词参数

使用 ∗∗** 解包

def greet(name, age):
    print(f"Hello, {name}. You are {age} years old.")

kwargs = {"name": "Alice", "age": 30}
greet(**kwargs)  # 输出: Hello, Alice. You are 30 years old.

1.7 参数混合使用

* ** 备注
可变参数 位置参数 关键词参数 用在形参前面
参数解包 位置参数解包,比如list、tuple 关键词参数解包,比如dict 用在实参前面

在函数调用时,可以混合使用位置参数和关键词参数,但位置参数必须放在关键词参数前面。

示例:

def greet(name, age, city="Unknown"):
    print(f"Hello, {name}. You are {age} years old and live in {city}.")

greet("Alice", 30)              # 输出: Hello, Alice. You are 30 years old and live in Unknown.
greet("Bob", 25, city="New York")  # 输出: Hello, Bob. You are 25 years old and live in New York.

总结

经过今天的学习,相信小伙伴们跟随博主已经对python的参数以及函数有一个基本的概念了,再后续我们也会越来越频繁的使用我们所学的东西,希望接下来的时间大家可以跟随博主继续努力的学习!!!

你可能感兴趣的:(python,前端,人工智能)