示例代码1
xx=1 def __recurrence(): # #前面的0到sentence_length-1的下标,存储的就是最原始的词向量,但是我们也要将其转变为Tensor global xx xx=100 __recurrence() print (xx)
输出100。
示例代码2
def xiaojie(): xx=1 def __recurrence(): # #前面的0到sentence_length-1的下标,存储的就是最原始的词向量,但是我们也要将其转变为Tensor global xx xx=100 __recurrence() print (xx) xiaojie()
执行到xx=100的时候。会输出
*** NameError: name 'xx' is not defined
这是因为,函数xiaojie()中定义的xx=1不是全局变量。
最后输出的print(xx)还是1.
示例代码3
xx=99 def xiaojie(): xx=1 def __recurrence(): # #前面的0到sentence_length-1的下标,存储的就是最原始的词向量,但是我们也要将其转变为Tensor global xx xx=100 __recurrence() print (xx) xiaojie() print (xx)
依次输出1,和100。
所以,模块内定义的xx是全局变量。而函数xiaojie()内定义的xx=1不是全局变量。