python物件導向之私有屬性和私有方法

2021-10-02 07:16:19 字數 1066 閱讀 1746

前面帶兩個下劃線表示對變數進行私有化

外部不能隨便的訪問和更改

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...