1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Python自定义函数的位置参数和关键字参数

Python自定义函数的位置参数和关键字参数

时间:2023-10-31 15:04:01

相关推荐

Python自定义函数的位置参数和关键字参数

1 位置参数和关键字参数

在《Python中自定义函数的方法》中提到,在调用函数时,可以根据函数参数的位置确定该参数的值,此时的参数叫做函数的位置参数,如图1所示。

图1 位置参数

从图1中可以看出,根据func1()函数参数的位置,此时参数a的值是1,b的值是字符串“hello”。在《Python中函数的关键字参数》中提到,对于具有默认参数值的函数,可以使用关键字来指定参数的值,此时的参数叫做函数的关键字参数,如图2所示。

图2 关键字参数

从图2中可以看到,在调用func2()函数时,用关键字的方式指定了参数a和b的值。

2 同一个函数中的位置参数和关键字参数

可以在定义函数时,指定哪些参数是位置参数,哪些参数是关键字参数,如图3所示。

图3 指定位置参数和关键字参数

从图3中可以看到,自定义函数f的参数中有“/”和“*”两个符号。“/”符号之前的参数即pos1和pos2是位置参数;“*”符号之后的参数,即kwd1和kwd2是关键字参数;而这两个符号之间的参数,即pos_or_kwd即是位置参数,又是关键字参数。对于以上定义参数的方法,包括三种情况:一是“只有位置参数的函数”,二是“只有关键字参数的函数”,三是“既有位置参数又有关键字参数的函数”。

2.1 只有位置参数的函数

只有位置参数的函数如图4所示。

图4 只有位置参数的函数

其中,参数arg位于“/”的前面,因此arg是位置参数。因此,如图5所示的代码中,可以用位置方式设置参数,而不能用关键字的方式设置参数。

图5 调用pos_only_arg()函数

2.2 只有关键字参数的函数

只有关键字参数的函数如图6所示。

图6 只有关键字参数的函数

从图6中可以看出,arg位于“*”的后面,因此,arg是位置参数。调用kwd_only_arg()函数的代码如图7所示,可以看出,可以用关键字设置参数值,而不能用位置设置参数值。

图7 调用kwd_only_arg()函数

2.3 既有位置参数又有关键字参数的函数

既有位置参数又有关键字参数的函数如图8所示,其中pos_only是位置参数;kwd_only是关键字参数,standard既是位置参数又是关键字参数。

图8 既有位置参数又有关键字参数的函数

调用该函数的代码如图9所示。

图9 调用combined_example()函数

从图9中可以看出,standard参数的值可以使用位置方式进行指定,也可以使用关键字的方式进行指定。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。