class get1(): url1 = '类变量' # 类变量,如果外部重新定义了,会被改变,如get1.url1 = '更改类变量' def __init__(self): url2 = 'nbsy' # init内部的变量是自己内部使用的 self.abcd = [10000] self.abcd.append(url2) def get2(self): self.abcd.append(9) return self.abcd def get3(self): return self.abcd # 返回的是init里整个运行过后的结果的self.abcd def get4(self): return get1().url1 # 可直接使用自己的类变量get1().url1或self.url1 def get5(self): return self.url1 # 同上,没有init也可以内部引用,因为是类变量 print get1().get2(),get1().get3() print get1().get4(),'——————',get1().get5() print get1.url1,get1().url1 # 加不加括号都可以 get1.url1 = '更改类变量' # 用get1.url1在外部赋值会改变类变量url1的值,get1().url1则不会 print '=================================================' print get1().get2(),get1().get3() print get1().get4(),'——————',get1().get5() print get1.url1,get1().url1 print '===================下一个类=======================' class Car(): def __init__(self,make,model,year): self.make = make self.model = model self.year = year def get_long_name(self): long_name = str(self.year) + ' ' + self.make + ' ' + self.model return long_name.title() # 首字母大写 def get_abc(self): return self.get_long_name() + '调用上一个方法' # 类方法之间的调用 my_new_car = Car('audi', 'a4', '2016') print my_new_car.get_long_name() print my_new_car.get_abc() # 去除引号有json.loads()/eval()/compile()方法
[10000, 'nbsy', 9] [10000, 'nbsy']
类变量 —————— 类变量
类变量 类变量
=================================================
[10000, 'nbsy', 9] [10000, 'nbsy']
更改类变量 —————— 更改类变量
更改类变量 更改类变量
===================下一个类=======================
2016 Audi A4
2016 Audi A4调用上一个方法