创建类
class frame(wx.Frame): #创建一个类myframe,继承自wx.Frame
def __init__ (self,src): #构造函数,对象实例化的时候,自动
执行该函数里的内容,本例中实例化时需传入参数src
def ww(self,a): #定义一个方法(函数)
self.a = 1 #定义一个属性(变量)
a = 2
myframe = frame(‘C’) #实例化,创建一个对象(实例/主体)
myframe.ww() #对象调用类的方法,把对象本身作为参数传递给方法ww
frame.ww(myframe) #同上,函数式写法
#对象会被赋值给方法的第一个形参,方法必须有一个参数,第一个参数代表传入对象(实例),通常用self
定义属性(变量)
self开头的变量,是实例变量,各个实例独立使用,只能在方法内创建,因为方法的第一个形参是self,方法外不存在self
class frame():
def hanshu(self,a):
self.a = a
myframe = frame()
myframe.hanshu(2)
print(myframe.a)
不用self定义的变量,是类变量,各个实例共用,如果定义在方法内,实例不能访问,因为定义的时候没有self。定义在方法外,实例可访问
class frame():
a =1
def hanshu(self):
b =2
myframe = frame()
print(myframe.a)
print(myframe.b)
1 #print(myframe.a)输出1
'frame' object has no attribute 'b' #print(myframe.b)错误