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中传参数到类中的方法啊
Python code:
class b
global A
A
这样定义的A是在编译时就执行的, 而不是运行时.
这样考虑, 个类b定义一个方法的时候, 也是在和A同一级别的代码上写的, 如果这种东西也运行时执行, 怎么确定b的方法? 如下:
Python code:
class b:
global A
A
def t(): #这个级别的代码都不是运行时才执行的....
pass
相关问答:
最近用python写一个程序,总是异常退出,但是却没法用try..except来捕捉
由于没法发图片,所以把相关的信息打印出来
异常的信息大致如下:
python.exe遇到问题需要关闭。我们对此引起的不便表示抱歉 ......
python和pyqt以及Eric4都已经配置好了,打开Eric4写个python程序比如简单的
print“hello,world”,怎么编译运行了,Start菜单的所有命令都出现和图中差不多的对话框,应当怎么运行了?
求大家指教
没有人用 ......
像 C 的 scanf() 那样
比如读入 1 2 3 a b c
每次读入一个
下面这个应该是你想要的吧:
Python code:
>>> k = raw_input()
0 0123 ds dsl sd
>>> k
'0 0123 ds dsl sd'
>>> ......
s='aaa111aaa,bbb222,333ccc,444ddd444,555eee666,fff777ggg'
用正则表达式取出 前后字母相同的数据 结果如下:
111 ddd
谢谢~
Python code:
import re
s='aaa111aaa,bbb222,333ccc,444ddd444,555eee666,ff ......
由于是第一次接触python,语法也不懂
但是临时要用到...
请帮忙注释一段代码...不需要每一句都注释,因为是学java的,所以基本思路还是有一点
#************************************************ ......