如何通过在 python 中声明全局来从另一个函数调用变量?



func 1

def num1():
global h
h=7

功能2

def num2():  
print(h)

当我调用此函数时:

num2()

在这里,它应该打印在func 1中全局声明的h的值。 但它给了NameError为什么??有人请回答我..

要通过num2()访问全局变量h请确保在调用num2()之前调用num1()

定义num1实际上并没有定义hnum1的定义只是说,当你调用num1时,它会分配给全局名称h。如果当时h不存在,则将创建它。但是定义num1不足以创建h

您需要确保在调用num2之前h存在。您可以通过分配给自己h或调用num1来执行此操作。

>>> num2()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in num2
NameError: name 'h' is not defined
>>> h = 3
>>> num2()
3
>>> del h
>>> num2()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in num2
NameError: name 'h' is not defined
>>> num1()
>>> num2()
7

最新更新