函数参数的类型

在Python中,函数参数的类型可以是以下几种:

  1. 位置参数(Positional Arguments)
    位置参数是最常见的函数参数类型,它们按照函数定义时参数的顺序来传递。当你调用一个函数时,你需要按照函数参数列表的顺序传递参数值,这些参数值会依次赋给函数定义时的位置参数。

    def greet(name, age):
        print(f"Hello, {name}! You are {age} years old.")
    
    greet("Alice", 30)
    
  2. 关键字参数(Keyword Arguments)
    关键字参数允许你按照参数名称来传递参数值,而不需要关心参数的顺序。在函数调用时,你可以指定参数的名称,将参数值传递给对应的参数。

    def greet(name, age):
        print(f"Hello, {name}! You are {age} years old.")
    
    greet(age=30, name="Alice")
    
  3. 默认参数(Default Arguments)
    默认参数允许你为函数的某些参数指定默认值,如果调用函数时没有提供对应的参数值,则使用默认值。

    def greet(name, age=30):
        print(f"Hello, {name}! You are {age} years old.")
    
    greet("Alice")  # 如果没有提供 age 参数,则使用默认值 30
    
  4. 可变参数(Variable Arguments)
    可变参数允许你在调用函数时传递不定数量的参数。在Python中,有两种类型的可变参数:*args 和 **kwargs。

    • *args:用于接收不定数量的位置参数,它将所有传递的位置参数放在一个元组中。
    • **kwargs:用于接收不定数量的关键字参数,它将所有传递的关键字参数放在一个字典中。
    def greet(*names):
        for name in names:
            print(f"Hello, {name}!")
    
    greet("Alice", "Bob", "Charlie")
    

    如果已经有一个list或者tuple,要调用一个可变参数怎么办?可以这样做:

>>> nums = [1, 2, 3]
>>> calc(nums[0], nums[1], nums[2])

这种写法当然是可行的,问题是太繁琐,所以Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去:

>>> nums = [1, 2, 3]
>>> calc(*nums)
*nums表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。
  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值