類的私有屬性和私有方法

2022-06-09 13:39:12 字數 869 閱讀 5915

class

role:

def__init__(self,name,role,weapon,value=100,money=1500):#

建構函式

self.name=name #

例項變數(靜態屬性),作用域就是實力本身

self.role=role

self.weapon=weapon

self.

__value=value #

私有屬性

self.money=money

def__buy_guy(self):#

私有方法

print("

%s want to buy a guy...

"%(self.name))

defshow_status(self):

print('

%s的生命值就剩%s

'%(self.name,self.__value))#

內部訪問

defgot_shot(self):

self.

__value-=10 #

內部修改

print('

%s got a shot

'%(self.name))

r1=role('

mike

','police

','ak')

print

(r1.name)

#print(r1.__value)#不能訪問

r1.show_status()

#可以訪問

#r1.__buy_guy()#私有方法不能訪問

r1.got_shot()

r1.show_status()

私有屬性和私有方法

應用場景及定義方式 應用場景 在實際開發中,物件的某些屬性或方法可能只希望在物件的內部使用,而不希望在外部被訪問到 私有屬性 就是 物件 不希望公開的 屬性 私有方法 就是 方法 不希望公開的 方法 定義方法 在定義屬性或方法時,在屬性名或者方法名前增加兩個下劃線,定義的就是私有屬性或方法 clas...

私有屬性和私有方法

應用場景 定義方式 不要問女生的年齡 self.age 18 def secret self print 我的年齡是 d self.age xiaofang women 小芳 私有屬性,外部不能直接訪問 print xiaofang.age 私有方法,外部不能直接呼叫 xiaofang.secret...

私有屬性和私有方法

class student object def init self,name,score 前面帶兩個下劃線表示對變數進行私有化 外部不能隨便的訪問和更改 self.name name self.score score defget grand self print my name is s,my ...