修改理由:

原先的语句让我这个初学者看不懂,不明白。

详细描述:

另外4.7.1里重要提示 默认值只被评估一次。这一句,我觉得有问题,当参数是L=1或L='string'等形式的参数时,会评估多次。
def f(a, b = 1) :
b = a+b
print(b)
f(1)
f(2)
f(3)
结果是
2
3
4

相关信息:


此投稿已在 4年前 合并。

内容修改:

红色背景 为原始内容

绿色背景 为新增或者修改的内容

OldNewDifferences
319319
320320上述例子顺便也提及了 [`in`](https://docs.python.org/3/reference/expressions.html#in) 关键字。它是用来测试某个特定值是否在一个序列中。
321321
322 默认值是在定义函数时的“定义过程中” (*defining* )的范围内评估的, 所以,
 322默认值是在定义函数时的“定义过程中” (*defining* )的范围内评估的(函数参数默认值是个变量的话,要根据函数定义前变量的值来确定参数默认值), 所以,
323323
324324```
325325i = 5
 
371371
372372### 4.7.2.关键字参数
373373
374 函数 [关键字参数](https://docs.python.org/3/glossary.html#term-keyword-argument) 同样可以使用 `kwarg=value` 的形式。例如,以下函数:
 374形如 `kwarg=value` 形式的参数是 [关键字参数](https://docs.python.org/3/glossary.html#term-keyword-argument)。例如,以下函数:
375375
376376```
377377def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):