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 中,nullNone ...您在寻找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() 等效项[重复]

在同一函数中定义变量及其静态等效项

Python 3和模块中的全局变量[重复]

glReadPixels 的 OpenGL DSA 等效项

求大神,c语言大神,一段程序说的啥意思,全局变量等于0怎么循环下面的

执行程序中的 Thread.join() 等效项[重复]