zoukankan      html  css  js  c++  java
  • Python 的全局变量

    结论: Python 的全局变量只在本文件中生效。

    定义全局变量的文件 G.py

     1 # define some global variable
     2 
     3 A = 1
     4 B = 2
     5 C = 3
     6 
     7 def fuck(a=0, b=0, c=0):
     8     global A, B, C
     9     A = a
    10     B = b
    11     C = c
    12 
    13 def fuck2():
    14     global A, B, C
    15     print 'In fuck2, A = %d, B = %d, C = %d' % (A, B, C)

    使用全局变量的文件 use_G.py

    from G import *
    
    def shit():
        global A, B, C
        print 'Before, A = %d, B = %d, C = %d' % (A, B, C)
        fuck()
        fuck2()
        print 'After, A = %d, B = %d, C = %d' % (A, B, C)
    
    if __name__ == '__main__':
        shit()

    打印结果如下,

    Before, A = 1, B = 2, C = 3
    In fuck2, A = 0, B = 0, C = 0     # ===> 可见在同一文件中,全局变量的变化是可以传递的。
    After, A = 1, B = 2, C = 3        # ===> 可见跨越文件,全局变量是不能传递的。
                         # 解决方法1:使用返回值带回。
       # 解决方法2:生产全局变量的脚本写中间文件,比如写一个 cPickle 文件,或者一个数据库文件,使用全局变量的脚本读这个中间文件

    完。

  • 相关阅读:
    typescript 箭头表达式
    typescript 参数类型
    ts介绍
    pm2
    koa2安装
    linux 搭建ftp
    CENTOS6.5 安装 mysql5.6 以及搭建双主
    bzoj 3043 (差分序列运用)
    poj 3277 City Horizon
    NOI2015 程序自动分析
  • 原文地址:https://www.cnblogs.com/gaowengang/p/7676998.html
Copyright © 2011-2022 走看看