<
>

Python入门之Python函数

2020-06-28 14:44:40 来源:易采站长站 作者:易采站长站整理


print(f'我的名字是:{name},性别:{gender},今年 {age} 岁')

my_Info('Jock', '男', 25) # 通过位置参数调用 my_Info 函数
my_Info(name='Jock', gender='男', age=25) # 通过关键字参数调用 my_Info 函数

输出结果:
我的名字是:Jock,性别:男,今年 25 岁
我的名字是:Jock,性别:男,今年 25 岁

这里我们分别通过

位置参数
关键字参数
的方式调用
my_Info()
函数,两种方法都是可以的。

相信大家到这里多少都有点迷惑,位置参数和关键字参数具体怎么区分,什么时候用位置参数,什么时候用关键字参数呢?

实际上区分位置参数和关键字参数取决于

调用函数时,它们传入函数的方式,而不取决于定义函数时的形式
。如果是按照位置传入函数的参数,即
value1, value2, value2
的形式传入函数,比如
my_Info('Jock', '男', 25)
就是位置参数,如果是按关键字参数传入函数,即
kwarg=value
的形式传入函数的参数就是关键字参数,比如
my_Info(name='Jock', gender='男', age=25)
,就是关键字参数传参。

到这里相信大家已经非常清楚怎么区别位置参数和关键字参数了。函数

my_Info(name, gender, age)
name, gender, age
既可以是位置参数,也可以是关键字参数,这种情况属于我们说的 Python 3 种参数中的
位置参数或关键字参数(positional-or-keyword)
,即我们定义的函数,可以通过位置参数的方式调用,也可以通过关键字参数的方式调用。

不过需要注意的是,

不管是在定义还是在调用时,位置参数都必须在关键字参数前面

以下是定义和调用函数的常见错误以及正确的做法:

# 定义函数时错误案例一:定义函数时有位置参数在默认参数后
def my_Info(name, gender='男', age): # Python 解释器报错:SyntaxError: non-default argument follows default argument
print(f'我的名字是:{name},性别:{gender},今年 {age} 岁')

# 正确定义函数
def my_Info(name, gender, age):
print(f'我的名字是:{name},性别:{gender},今年 {age} 岁')

# 错误调用一:调用时有位置参数在默认参数后
my_Info('Jock', gender='男', 25) # SyntaxError: positional argument follows keyword argument
# 正确调用

暂时禁止评论

微信扫一扫

易采站长站微信账号