在python中声明一个变量是更好:=None,还是=str(),还是=""?
Is it better to declare a variable in python: = None, or = str(), or = ""?
如果以后需要在不同的本地区域分配变量,是否将 python 中的变量声明为 None 更好?我找不到这方面的最佳实践:
- 如果它只是一个 string/int/boolean?
- 是否会成为 list/tuple/dictionary?
感谢您的建议!
def get_executed_list(list_of_strings):
"""list_of_strings is a list"""
updated_list = None
for single_string in list_of_strings:
single_string += "-executed"
updated_list.append(single_string)
return updated_list
或
def get_executed_list(list_of_strings):
"""list_of_strings is a list"""
updated_list = []
for single_string in list_of_strings:
single_string += "-executed"
updated_list.append(single_string)
return updated_list
或
def get_executed_list(list_of_strings):
"""list_of_strings is a list"""
updated_list = ""
for single_string in list_of_strings:
single_string += "-executed"
updated_list.append(single_string)
return updated_list
大多数时候,如果您不知道使用哪种结构,您可能无法准确判断您的需求是什么。告诉您需要什么的一个好方法是您将使用的方法。例如,您使用了 append 方法,这是一种用于列表的方法。因此,您将 updated_list
定义为 None 或字符串的尝试甚至都行不通,因为它们没有 append 方法。
正如所指出的,只有您的第二个示例实际有效。
至于问题本身,我只会将一个值初始化为 None
,然后如果您确实需要区分这两种状态,则稍后将其重新初始化为预期的数据类型。
一个示例用例是 class,它旨在保存从文件等外部源读取的数据。说一个 name/value 对的文本文件。由于 Python 中的 None
类型具有未定义的值,因此当它们可以表示有效值条目时,可以将其与 0
、""
或 []
区分开来在你的文件中。然后您可以检查您收到的数据是否为空,或者根本就没有看到。
如果以后需要在不同的本地区域分配变量,是否将 python 中的变量声明为 None 更好?我找不到这方面的最佳实践:
- 如果它只是一个 string/int/boolean?
- 是否会成为 list/tuple/dictionary?
感谢您的建议!
def get_executed_list(list_of_strings):
"""list_of_strings is a list"""
updated_list = None
for single_string in list_of_strings:
single_string += "-executed"
updated_list.append(single_string)
return updated_list
或
def get_executed_list(list_of_strings):
"""list_of_strings is a list"""
updated_list = []
for single_string in list_of_strings:
single_string += "-executed"
updated_list.append(single_string)
return updated_list
或
def get_executed_list(list_of_strings):
"""list_of_strings is a list"""
updated_list = ""
for single_string in list_of_strings:
single_string += "-executed"
updated_list.append(single_string)
return updated_list
大多数时候,如果您不知道使用哪种结构,您可能无法准确判断您的需求是什么。告诉您需要什么的一个好方法是您将使用的方法。例如,您使用了 append 方法,这是一种用于列表的方法。因此,您将 updated_list
定义为 None 或字符串的尝试甚至都行不通,因为它们没有 append 方法。
正如所指出的,只有您的第二个示例实际有效。
至于问题本身,我只会将一个值初始化为 None
,然后如果您确实需要区分这两种状态,则稍后将其重新初始化为预期的数据类型。
一个示例用例是 class,它旨在保存从文件等外部源读取的数据。说一个 name/value 对的文本文件。由于 Python 中的 None
类型具有未定义的值,因此当它们可以表示有效值条目时,可以将其与 0
、""
或 []
区分开来在你的文件中。然后您可以检查您收到的数据是否为空,或者根本就没有看到。