Python 最佳实践:初始化变量

Python best practices: initializing variables

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

我应该先初始化my_var吗:

my_var = {}
my_var = do_something_and_return_var()

或直接设置:

my_var = do_something_and_return_var()

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

谢谢

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

from typing import Dict

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

将值设置为空字典没有任何优势,因为当您这样做时:

my_var = {}

名称my_var 简单地绑定到存储在某个内存位置的对象空字典。所以如果你的函数 do_something_and_return_var returns 让我们说一个整数值,那么名称 my_var 将绑定到这个 int 值对象,而你的空字典对象仍然存储在一些没有名称的内存位置绑定到它,后来被垃圾收集器删除