python中用于定义全局变量的空等效项[重复]
Posted
技术标签:
【中文标题】python中用于定义全局变量的空等效项[重复]【英文标题】:null equivalent in python for defining global variable [duplicate] 【发布时间】:2020-10-12 19:31:36 【问题描述】:我正在寻找一个在 Python 中创建全局变量的示例,就像在 java 中你可以做类似的事情
String my_global_string = null
for ....
reassign value of my_global_string
use the my_global_string value
如果对象的类型为file
,那么python中null
的等价物是什么
【问题讨论】:
在 Python 中,null
是 None
...您在寻找None
吗?请记住在提出新问题之前搜索。
这能回答你的问题吗? Referring to the null object in Python
在每个人都在用负面的 cmets 或 downvotes 堆积起来之前,在这里稍微放松一下 OP。他们是从强类型语言的角度来看的,并询问null
for type file
的等价物。答案是file
类型没有等价物。没有必要。在某些情况下可能指向 file
对象的变量可以在适用时指向 None
,即使它是不同的类型。
@alaniwi,我知道你来自哪里,但这仍然已经被覆盖,用户应该在询问之前先搜索。这是有经验的用户应该已经知道的问题。
【参考方案1】:
仔细观察,这个问题似乎并不是关于None
,而是关于范围。 Python 没有块作用域,因此您在循环内分配给 my_global_string
的任何定义都可以用作 initial 定义,只要循环本身位于全局作用域内。
在进入循环之前,无需为名称“预分配”空值 (None
)。
for x in some_iterable:
my_global_string = "hi there"
print(my_global_string)
如果您需要从其他范围定义全局,这就是存在 global
语句的原因。
# This function creates a variable named "my_global_string"
# in the global scope.
def define_a_string():
global my_global_string
my_global_string = "hi there"
for x in some_iterable:
define_a_string()
print(my_global_string)
【讨论】:
以上是关于python中用于定义全局变量的空等效项[重复]的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 中用于插入的 ROW_NUMBER() 等效项[重复]