<
>

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
。测试如下:
暂时禁止评论

微信扫一扫

易采站长站微信账号