48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
# python3小白课:关键字参数
|
||
|
||
定义函数的时候我们可以设定形参,而在调用函数的时候需要传入对应的参数,我们最简单的方式是直接按定义时的顺序传入,这时候传入的参数就叫做位置参数。它会按照传入的位置赋值给对应的形参。
|
||
|
||
```python
|
||
# coding:utf-8
|
||
def info(name, age):
|
||
print("姓名:%s,年龄:%d" % (name, age))
|
||
info("小白", 18)
|
||
```
|
||
|
||
但我们有的时候记不住这个顺序,或者想只赋值其中的几个参数的时候,就不一定要按照定义的顺序来了,我们可以使用关键字参数来定义。关键字参数就是在调用的时候使用`关键字=值`的定义形式,这样解释器就能够自动的关联到对应的形参了。
|
||
|
||
看个例子:
|
||
|
||
```python
|
||
# coding:utf-8
|
||
def info(name, age):
|
||
print("姓名:%s,年龄:%d" % (name, age))
|
||
info(age=18, name="小白")
|
||
```
|
||
|
||
运行后可以看到,也是能够正确的匹配的。
|
||
|
||
如果我们在调用时,有时候用位置参数,有时候用关键字参数调用,可以吗?答案是可以的。但我们需要注意一个原则,就是位置参数必须写在关键字参数之前,否则解释器会搞不清你要将传入的参数赋值给哪个形参,导致报错。
|
||
|
||
```python
|
||
# coding:utf-8
|
||
def info(name, age, sex):
|
||
print("姓名:%s,年龄:%d,性别:%s" % (name, age, sex))
|
||
# 这样写会报错:
|
||
# info(age=18, sex="男", "小白")
|
||
# 正确的写法
|
||
info("小白", sex="男", age=18)
|
||
```
|
||
|
||
|
||
|
||
### 单词释义
|
||
|
||
| 单词 | 释义 |
|
||
| ---- | ------------------------- |
|
||
| info | information信息的简写形式 |
|
||
| name | 姓名 |
|
||
| age | 年龄 |
|
||
| sex | 性别 |
|
||
|