python3xiaobaike_2020/chapter5/5-4 python3小白课:关键字参数.md
2025-04-20 23:22:14 +08:00

48 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 | 性别 |