[英]Is this bad practice: assigning a return variable
one = 1
def add_one(one):
two = one + 1
return two
two = add_one(one)
print(two)
我正在分配一个具有相同名称的返回变量
这不是坏习惯。 这是因为add_one()
的变量two
属于不同的范围。
因此,方法外的变量two
不会受到add_one()
发生的事情的影响。
有关 Python 中各种variable name scope
,请参阅此链接。
python中变量的范围是它可见的代码部分。 实际上,要引用它,则不需要使用任何前缀。
Python 中有 4 种类型的变量作用域:
您的示例在函数add_one
使用Local namespace
。
two
变量将是您的函数add_one
本地变量,并且在函数返回后将被销毁(因为它的引用计数器已减少到零。但是,您已通过返回将其值传递给调用者。您的调用者有另一个相同的变量命名two
(但在不同的范围内)。因此,它将是不同的变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.