前面帶兩個下劃線表示對變數進行私有化
外部不能隨便的訪問和更改
class student(object):
def __init__(self,name,score):
# 前面帶兩個下劃線表示對變數進行私有化
# 外部不能隨便的訪問和更改
self.__name = name
self.__score = score
def get_grand(self):
print('my name is %s,my grade is %d' %(self.__name,self.__score))
def get_name(self):
return self.__name
def get_score(self):
return self.__score
def set_name(self,name):
if isinstance(name,str):
self.__name = name
else:
raise valueerror('請輸入正確的名字')
def set_score(self,score):
if isinstance(score,int):
self.__score = score
else:
raise valueerror('請輸入正確的成績')
tom = student('tom',89)
# print(tom.name)
# print(tom.score)
tom.__name = 'new_name' # 這樣做只是給物件新增了__name的屬性 而不是修改私有屬性的值
Python物件導向之私有屬性和方法
定義方式 在定義屬性或者方法時,在屬性名或者方法名前面增加兩個下劃線,定義的就是私有屬性或方法 沒使用私有屬性前 class women def init self,name,age self.name name self.age age def secret self print s 的年齡是 d...
Python物件導向06 私有屬性和私有方法
應用場景 定義方式 class women def init self,name self.name name 不要問女生的年齡 self.age 18 def secret self print 我的年齡是 d self.age xiaofang women 小芳 私有屬性,外部不能直接訪問 pr...
python物件導向學習(三)私有屬性和私有方法
目錄在j a或者其他的程式語言中,使用訪問修飾符來限制屬性和方法的訪問級別,一般有public protected default private這四種級別,但是python中是不同的。應用場景 定義方式 class person def init self self.name zfx self.a...