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 文件,或者一个数据库文件,使用全局变量的脚本读这个中间文件

    完。

  • 相关阅读:
    【扫盲】模块 库 框架 包
    AJax和JQ的结合使用
    AJax的三种响应
    使用session存储数据
    Requset作用域
    Cookie实现记住密码代码
    Cookie技术
    请求转发和重定向
    重定向的两次请求分别是????
    servlet
  • 原文地址:https://www.cnblogs.com/gaowengang/p/7676998.html
Copyright © 2011-2022 走看看