python风格规范之Shadows name ‘XXX‘ from outer scope
python风格规范之Shadows name 'XXX' from outer scope
规范错误/警告描述
Shadows name 'xxx' from outer scope
规范错误描述(示例)
def function_1(param_1):
print(param_1)
if __name__ == '__main__':
param_1 = "Mr.Wu"
function_1(param_1)
规范错误认知
字面意思是指:函数内的形参名称与外部作用域的名称重合。
python
\text{python}
python的风格规范中,需要将形参变量与调用该形参的变量名进行区分。

正确示例如下:
def function_1(param_1):
print(param_1)
if __name__ == '__main__':
p_1 = "Mr.Wu"
function_1(p_1)
当然,调用函数形参的不一定是某个实参,可能是其他函数的形参。如:
def function_1(param_1):
def function_2(param_1):
print(param_1)
return function_2(param_1)
if __name__ == '__main__':
p_1 = "Mr.Wu"
function_1(p_1)
此时function_1中的形参调用了function_2中的形参param_1,同样需要规避相同名称的问题。正确示例如下:
def function_1(pa_1):
def function_2(param_1):
print(param_1)
return function_2(pa_1)
if __name__ == '__main__':
p_1 = "Mr.Wu"
function_1(p_1)
Reference
\text{Reference}
Reference:
python - 风格规范