Python入门之Python函数
2020-06-28 14:44:40 来源:易采站长站 作者:易采站长站整理
* 之后是仅关键字参数。各参数的定义顺序:仅位置参数 –> 默认仅位置参数 –> 可变位置参数(
*args) –> 仅关键字参数(kw=value) –> 默认仅关键字参数 –> 可变关键字参数(
**args)。如:
def my_Info(name, gender, age=12, *args, nation, city='武汉', **kwargs):
print(f'name: {name}, gender: {gender}, age: {age}, *args: {args}, nation: {nation}, city: {city}, **kwargs: {kwargs}')my_Info('Jock', '男', 25, nation='中国', city='桂林', 爱好='篮球')
结果输出:
name: Jock, gender: 男, age: 25, *args: (), nation: 中国, city: 桂林, **kwargs: {'爱好': '篮球'}
不要同时使用太多的组合,否则函数接口的可理解性很差。Python 3.8 官方文档中总结如下:
格式:
def f(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):
----------- ---------- ----------
| | |
| Positional or keyword |
| - Keyword only
-- Positional only
如果你希望形参名称对用户来说不可用,则使用仅位置形参。这适用于形参名称没有实际意义,以及当你希望强制规定调用时的参数顺序,或是需要同时接收一些位置形参和任意关键字形参等情况。
当形参名称有实际意义,以及显式指定形参名称可使函数定义更易理解,或者当你想要防止用户过于依赖传入参数的位置时,则使用仅限关键字形参。
对于 API 来说,使用仅限位置形参可以防止形参名称在未来被修改时造成破坏性的 API 变动。
这里如果深究会涉及接口设计问题,这部分留作以后再探讨吧。我们目前只要明白基本的函数定义,以及能够看懂别人的函数文档就好了。
函数的返回值
前面我们已经见过了
return 语句,它的功能是函数调用完成一件事情之后,给调用者反馈结果,这个反馈结果就是函数的返回值。函数是帮我们处理事情的,我们调用函数,当然希望函数处理结束后给我们反馈,告诉我们事情做得怎么样。这是不是非常符合我们现实中的场景?就像老板给你分配了一件任务,你做完之后得想老板报告这件事做得怎么样。接下来我们总结一下 return 语句的常用用法。
返回 None
如果我们定义的函数没有写
return 语句,那么这个函数默认返回
None。测试如下:













闽公网安备 35020302000061号