繁体   English   中英

这是不好的做法:分配返回变量

[英]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 种类型的变量作用域:

  1. 内置
  2. 全球的
  3. 封闭
  4. 当地的

您的示例在函数add_one使用Local namespace

two变量将是您的函数add_one本地变量,并且在函数返回后将被销毁(因为它的引用计数器已减少到零。但是,您已通过返回将其值传递给调用者。您的调用者有另一个相同的变量命名two (但在不同的范围内)。因此,它将是不同的变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM