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 中:
s = unicode("测试", "gb2312")
s = u'\u6d4b\u8bd5'
print s
测试
在Delphi里面如何将\u6d4b\u8bd5这样的还原成Gb2312的汉字呢?
找到个方法
......
我每次上传的文件读到的数据都不正确。2M 的图片读得10多K 。。哪位大侠可以帮帮我啊。
#!D:\ProgrammerTools\python26\python.exe
#encoding=utf-8
import cgitb
import os
cgitb.enable()
import cgi,urllib ......
在list中添加一个类的局部变量 这样做是否合法 请看下面例子:
Python code:
class A():
def __init__( self ):
self.__a = 0
self.__b = 'hello'
def get_a( self ):
ret ......
刚刚买了一本《Python核心编程》,开始学习python。大家多多指教
电子书就很多。。。
《Python核心编程》这书的第一版还是不错的,第二版很不咋的,真的。
个人的意见是:初学用《Dive in Python》, ......
带class的python程序是怎样执行的?
如
#!/usr/bin/python
import sgmllib,urllib
class MyParser(sgmllib.SGMLParser):
"A simple parser class."
......