首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python:全局变量的有关问题

2012-02-13 
python:全局变量的问题?程序结构如下:#定义了全局变量AA0#class处理Aclass bglobal AA#main里给A赋值A

python:全局变量的问题?
程序结构如下:

#定义了全局变量A
A=0

#class处理A
class b
  global A
  A


#main里给A赋值 
  A = 1

程序执行时发现class里A的值还是0

新手有几个问题:
1、python程序执行的顺序,如本例,由执行结果看,是顺序执行?
2、想在class里处理在被mail赋值后的A,如何才能实现?
3、如果2行不通,有什么方法可以做到?


谢谢。

[解决办法]
变量的执行顺序为局部空间->全局空间->内建空间;
所以在main里给A赋值,只是定义了一个局部变量

程序执行顺序要看你从哪个函数调用进入

可以从main中传参数到类中的方法啊
[解决办法]
应该是位置的问题,类b的global A摆放的位置在类本身,定义的时候就会执行,也就是在#main前执行了。你可以试着摆放到类的某个方法里,譬如在__init__(self)下,那么你在#mian后改A然后再实例一个b就会看到改变。
[解决办法]

Python code
class b     global A     A 

热点排行