1.私有属性
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author:James Tao 4 class Role(object):#执行时之后就存在内存里 5 6 #构造函数 7 #作用:在实例化时做一些类的初始化工作,开辟一块内存 8 def __init__(self,name,role,weapon,life_value=100,money=15000): 9 self.name=name #实例变量(静态属性),作用域是实例本身,保存在实例的内存里10 self.role=role11 self.weapon=weapon12 self.__life_value=life_value #两个下划线,定义私有属性13 self.money=money14 15 #析构函数16 #作用:在实例释放、销毁的时候执行,通常用于一些收尾工作,例如,关闭一些数据库连接,打开的临时文件17 def __del__(self):#在实例释放的时候自动执行18 print('%s彻底死了' % self.name)19 20 def show_status(self):#私有属性在内部可以访问和修改21 print('''name:{_name} weapon:{_weapon} life_value:{_life_value}'''22 .format(_name=self.name,_weapon=self.weapon,_life_value=self.__life_value))23 24 def change_life_value(self):#私有属性在内部可以访问和修改25 self.__life_value=self.__life_value-1026 27 def shot(self):#类的方法,功能(动态属性)28 print('%s is shooting...' % self.name)29 30 def got_shot(self):31 print('%s is getting shot...' % self.name)32 33 def buy_gun(self,gun_name):34 print('%s has bought %s' % (self.name,gun_name))35 36 role1=Role('Trump1','terrorist','AWM')37 #print(role1.__life_value) #私有属性在外部不可以访问和修改38 role1.change_life_value()39 role1.show_status()
结果:
2.私有方法
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author:James Tao 4 #!/usr/bin/env python 5 # -*- coding:utf-8 -*- 6 # Author:James Tao 7 class Role(object):#执行时之后就存在内存里 8 9 #构造函数10 #作用:在实例化时做一些类的初始化工作,开辟一块内存11 def __init__(self,name,role,weapon,life_value=100,money=15000):12 self.name=name #实例变量(静态属性),作用域是实例本身,保存在实例的内存里13 self.role=role14 self.weapon=weapon15 self.__life_value=life_value #两个下划线,定义私有属性16 self.money=money17 18 #析构函数19 #作用:在实例释放、销毁的时候执行,通常用于一些收尾工作,例如,关闭一些数据库连接,打开的临时文件20 def __del__(self):#在实例释放的时候自动执行21 print('%s彻底死了' % self.name)22 23 def shot(self):#类的方法,功能(动态属性)24 print('%s is shooting...' % self.name)25 26 def __got_shot(self):#加两个下划线,定义私有方法27 print('%s is getting shot...' % self.name)28 29 def buy_gun(self,gun_name):30 print('%s has bought %s' % (self.name,gun_name))31 32 role1=Role('Trump1','terrorist','AWM')33 #role1.__got_shot() #私有方法在外部无法访问