180411 python类初始化属性调用与非初始化属性调用
原创
©著作权归作者所有:来自51CTO博客作者GuokLiu的原创作品,请联系作者获取转载授权,否则将追究法律责任
- python类初始化属性在
def __init__()
中定义,实例化对象后可直接调用 - python类非初始化属性在
def func()
中定义,实例化对象后,先调用调用函数,再调用属性
代码
class Mdata(object):
def __init__(self):
print('initialization')
#self._build_model()
self.mydata1 = 123
def showdata(self):
self.mydata2 = self.mydata1*2
a = Mdata() # 类实例化
print(a.mydata1) # 初始化属性可直接调用
try: # 不能在未调用非__init__函数之前调用非__init__中定义的实例化属性
a.mydata2
print('Try Success.')
except:
print('Try Failed.') # 非初始化属性先调用函数,在调用属性值
a.showdata() # 先调用类函数
print(a.mydata2) # 再调用属性值
运行结果
initialization
123
Try Failed.
246