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调用上一个方法