自己10几年前有过C++的编程能力,现在在学习PYTHON时也没注意过代码中变量定义在不同位置时的表现,造成运行时出现许多不可理解的错误或跟预期值不相符,这才发现自己对PYTHON中的变量定义在不同位置时的表现是不全了解的,故临时作了一个示例程序,分别将两种不同的变量:整数变量和列表变量分别放在模块头(类外),类头部(init构造初如化代码前部),类中间(init类初始化或其其他函数体中间), 以了解各种位置的成员变量在作赋值运算时的行为,可能不太全面,应基本表达了对成员变量定义时选用位置的方式和注意的问题,同小白共同探讨学习
示例代码如下:
#本示例演示各种变量定义的位置不同时的引用及值结果
import copy #使用深度COPY,以解决PYTHON列表,字典类变量使用=号赋值后的绑定共用内存现象
import g #假如其他模块文件头部的全局变量本模块要用,import此模块文件名(如g.py模块文件头部有全局变量定义g_num=13579),如采用此种方式,则g.py中的全局变量使方法:g.g_num即可
#另一种方式导入g.py中的全局变量g_num ,则用以下代码来实现对g.py中的全局变量g_num的使用
from g import g_num #使用golbal g_num定义好象无效?
g_ID=1 #本模块定义的数字类型全局变量
g_lst=['文本顶部定义的列表类型变量','abc'] #本模块定义的列表类型全局变量
#定义父类ABC
class ABC():
global g_num #好象无用,只能用g.g_num 或from g import g_num后