【问题标题】:Python best practices: initializing variablesPython 最佳实践:初始化变量
【发布时间】:2018-07-31 09:26:34
【问题描述】:

当你有一个由方法设置的变量(比如一个字典)时,Python 的最佳实践建议是什么:

我应该先初始化 my_var:

my_var = {}
my_var = do_something_and_return_var()

或直接设置:

my_var = do_something_and_return_var()

首先设置它的好处是您可以立即告诉 my_var 应该是什么类型(虽然我不使用 IDE,但我想它会在您使用时有所帮助)。 但另一方面,在将其设置为实际值之前将其设置为空字典似乎有点没用。

谢谢

【问题讨论】:

  • my_var = do_something_and_return_var(),你总是可以添加类型提示

标签: python variable-declaration


【解决方案1】:

您不需要先写my_var = {}。如果你想指定类型,你应该使用type hints

from typing import Dict

def do_something_and_return_var() -> Dict[str, str]
    ...

【讨论】:

  • 不知道类型提示,我来看看。干杯
【解决方案2】:

将值设置为空字典没有任何好处,因为当你这样做时:

my_var = {}

名称 my_var 只是绑定到存储在某个内存位置的对象空字典。因此,如果您的函数 do_something_and_return_var 返回假设一个整数值,则名称 my_var 将绑定到此 int 值对象,而您的空字典对象仍存储在某个内存位置,没有绑定名称,稍后会被垃圾收集器删除

【讨论】:

  • 啊,是的,当然。我没有想到这一点,但这完全有道理。谢谢
猜你喜欢
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多