# coding:gbk
class a:
def __init__(self,b):
self.b = b
def func(sel,a):
sel.a = a
def p(self):
if self.b != None :
print(self.b)
def p1(sel):
print(sel.a)
obj = a(4) # 这个4会在实例化类的时候,直接被赋值给self.value
obj.p() # 这次运行的时候由于a还没有值所以直接会出现运行错误
obj.func(5) # 把5赋值给sel.a
obj.p1() # 此处可以看出,self只是方便人类理解,在代码中和sel没有任何区别,只是这个类本身的一个代号。但是如果想要在一个p()方法里同时输入a和b,那么类的代号就必须统一的名字
# 我对类的理解:当obj = a()的时候其实是相当于对obj说:你是一个具有a()特征的对象
#(一种动物,一种植物之类的,此处把a()作为一只猫来理解),
#self即是猫的本身,class中的方法第一个参数即为根据需要对类进行初始化。
#self.b这样的赋值在一个类中是全局生效的,这种行为我个人认为更贴切的形容是描述,
#比如:self.b = 4 可以是这个猫(self)有4(b)条腿,print(self.b)
#即为:请打印出这只猫有几条腿