• 技术文章 >Python技术 >Python基础教程

    Python函数关键字参数及用法

    silencementsilencement2019-06-29 13:58:58原创3773

    在定义 Python 函数时可定义形参(形式参数的意思),这些形参的值要等到调用时才能确定下来,由函数的调用者负责为形参传入参数值。简单来说,就是谁调用函数,谁负责传入参数值。

    Python 函数的参数名不是无意义的,Python 允许在调用函数时通过名字来传入参数值。因此,Python 函数的参数名应该具有更好的语义,这样程序可以立刻明确传入函数的每个参数的含义。

    按照形参位置传入的参数被称为位置参数。如果使用位置参数的方式来传入参数值,则必须严格按照走义函数时指定的顺序来传入参数值;如果根据参数名来传入参数值,则无须遵守定义形参的顺序,这种方式被称为关键字(keyword)参数。例如如下程序:

    # 定义一个函数
    def girth(width , height):
        print("width: ", width)
        print("height: ", height)
        return 2 * (width + height)
    # 传统调用函数的方式,根据位置传入参数
    print(girth(3.5, 4.8))
    # 根据关键字参数来传入参数
    print(girth(width = 3.5, height = 4.8))
    # 使用关键字参数时可交换位置
    print(girth(height = 4.8, width = 3.5))
    # 部分使用关键字参数,部分使用位置参数
    print(girth(3.5, height = 4.8))

    上面程序定义了一个简单的 girth() 函数,该函数包含 width、height 两个参数,该函数与前面定义的函数并没有任何区别。

    接下来在调用该函数时,既可使用传统的根据位置参数来调用(如上面程序中第 7 行代码所示),也可根据关键字参数来调用(如上面程序中第 9 行代码所示),在使用关键字参数调用时可交换参数的位置(如上面程序中第 11 行代码所示〕,还可混合使用位置参数和关键字参数(如上面程序中第 13 行代码所示)。

    需要说明的是,如果希望在调用函数时混合使用关键字参数和位置参数,则关键字参数必须位于位置参数之后。换句话说,在关键字参数之后的只能是关键字参数。例如如下代码是错误的:

    # 位置参数必须放在关键字参数之前,下面代码错误
    print(girth(width = 3.5, 4.8))

    运行上面代码,将会提示如下错误:

    SyntaxError: positional argument follows keyword argument


    专题推荐:关键字参数
    上一篇:Python for循环及用法详解 下一篇:Python函数的高级用法

    相关文章推荐

    • 九步就可入门Python装饰器• Python中进程与线程的区别是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网