跳至正文
View Categories

< 1 min read

主要内容 #

  • 关键词参数
  • 参数组合
  • 1. 关键词参数 #

    可变参数允许传入0个或任意个参数,在调用时自动组装成元组。 那是否能以字典形式组装? 可以,这就是关键词参数 关键词参数允许传入0个或任意个包含参数名的参数,以字典组装 关键词参数定义语法如下: def 函数名(形参名, **形参名): 注意:
  • 可以没有非关键词形参
  • 关键词形参的定义一定要在必须形参的后面
  • 默认形参的定义一定要在非默认形参的后面
  • 关键词参数使用**定义,函数内部接收到的关键词参数是以字典保存
  • 例如,以下程序自定义个人信息函数:
    def my_info(name, age, **other):
          print('name:', name, ',age:', age, ',other:',other)
    
    my_info('bob', 21) # 可以没有关键词参数
    my_info('bob', 21, city='Shanghai') # 可以只有1个关键词参数
    my_info('bob', 21, city='Shanghai', gender='M', job='Engineer') # 可以是任意多个参数

    2. 参数组合 #

    必须参数,默认参数,可变参数,关键词参数,这几种参数都可以组合使用。 但是请注意,参数定义的顺序必须是: 必须参数,默认参数,可变参数,关键词参数。 参数组合定义语法如下: def 函数名(形参名,形参名=默认值,*形参名,**形参名): 注意:
  • 除了必须参数,在调用时可以没有其他参数
  • 一定要保证参数顺序的正确性
  • 调用时,Python解释器自动按照参数位置和参数名把对应的参数传进去
  • 程序示例:
    def f(a, b=0, *args, **kwargs):
        print('a:', a, ',b:', b, ',args:', args, ',kwargs:', kwargs)
    
    f(1)  # 必须参数
    
    f(1, b=2)  # 必须参数和默认参数
    
    f(1, 2, 'a', 'b')  # 必须参数,默认参数和可变参数
    
    f(1, 2, 'a', 'b', x = 99)  # 必须参数,默认参数,可变参数和关键词参数

    3. 小结 #

  • 关键词参数允许传入0个或任意个包含参数名的参数,以字典组装
  • 必须参数,默认参数,可变参数,关键词参数,这几种参数都可以组合使用 参数顺序为:必须参数,默认参数,可变参数,关键词参数
  • OJ训练题 #

    1、出租车 – ★
    2、魔杖 – ★
    3、学识币 – ★
    4、整数串拆段 – ★★
    5、田忌赛马 – ★★★★