zoukankan      html  css  js  c++  java
  • 2 python全局变量如何指定(是在模块内,还是函数内)

    示例代码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不是全局变量。

    python变量的查找规则

  • 相关阅读:
    Arduino学习笔记10
    Arduino学习笔记07
    Arduino学习笔记6
    Arduino学习笔记5
    Arduino学习笔记4
    Arduino学习笔记3
    linux下库文件的编程
    学习编程语言究竟学什么
    Arduino学习笔记2---数字温度计
    Arduino学习笔记0---开发板的了解
  • 原文地址:https://www.cnblogs.com/xiaojieshisilang/p/10059124.html
Copyright © 2011-2022 走看看