第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

章節(jié)
問答
課簽
筆記
評論
占位
占位

Python定義實(shí)例方法

上一節(jié)課提到,私有屬性沒有辦法從外部訪問,只能在類的內(nèi)部操作;那如果外部需要操作私有屬性怎么辦?這個(gè)時(shí)候可以通過定義類或者實(shí)例的方法來操作私有屬性,本節(jié)課先來介紹實(shí)例方法。
實(shí)例的方法指的就是在類中定義的函數(shù),實(shí)例方法的第一個(gè)參數(shù)永遠(yuǎn)都是self,self是一個(gè)引用,指向調(diào)用該方法的實(shí)例對象本身,除此以外,其他參數(shù)和普通函數(shù)是完全一樣的。

class Person(object):

    def __init__(self, name):
        self.__name = name

    def get_name(self):
        return self.__name

在上面的定義,name是實(shí)例的私有屬性,從外部是無法訪問的,而get_name(self) 就是一個(gè)實(shí)例方法,在實(shí)例方法里面是可以操作私有屬性的,注意,它的第一個(gè)參數(shù)是self。
另外,__init__(self, name)其實(shí)也可看做是一個(gè)特殊的實(shí)例方法。
通過定義get_name(self)方法,在外部就可以通過這個(gè)方法訪問私有屬性了。

?p = Person('Alice')
print(p.get_name()) # ==> Alice

注意,在外部調(diào)用實(shí)例方法時(shí),是不需要顯式傳遞self參數(shù)的。
另外,通過定義實(shí)例方法來操作私有屬性的這種方法是推薦的,這種數(shù)據(jù)封裝的形式除了能保護(hù)內(nèi)部數(shù)據(jù)一致性外,還可以簡化外部調(diào)用的難度。
當(dāng)然,實(shí)例方法并不僅僅是為私有屬性服務(wù)的,我們可以把和類的實(shí)例有關(guān)的操作都抽象成實(shí)例方法,比如:打印實(shí)例的詳細(xì)信息等等。

class Animal(object):
    def __init__(self, name, age, localtion):
        self.name = name
        self.age = age
        self.localtion = localtion

    def get_info(self):
        return 'name = {}, age = {}, localtion = {}'.format(self.name, self.age, self.localtion)

dog = Animal('wangwang', 1, 'GuangDong')
print(dog.get_info())

任務(wù)

把Animal類的age、name、localtion定義成私有屬性,并定義對應(yīng)的方法修改和獲取他們的值。

?不會了怎么辦

參考答案:

class Animal(object):
    def __init__(self, name, age, localtion):
        self.__name = name
        self.__age = age
        self.__localtion = localtion

    def set_name(self, name):
        self.__name = name

    def get_name(self):
        return self.__name

    def set_age(self, age):
        self.__age = age

    def get_age(self):
        return self.__age

    def set_localtion(self, localtion):
        self.__localtion =localtion

    def get_localtion(self):
        return self.__localtion
||

提問題

寫筆記

公開筆記
提交
||

請驗(yàn)證,完成請求

由于請求次數(shù)過多,請先驗(yàn)證,完成再次請求

加群二維碼

打開微信掃碼自動(dòng)綁定

您還未綁定服務(wù)號

綁定后可得到

  • · 粉絲專屬優(yōu)惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問題答復(fù)提醒
  • · 賬號支付安全提醒

收藏課程后,能更快找到我哦~

使用 Ctrl+D 可將課程添加到書簽

邀請您關(guān)注公眾號
關(guān)注后,及時(shí)獲悉本課程動(dòng)態(tài)

舉報(bào)

0/150
提交
取消
全部 精華 我要發(fā)布
全部 我要發(fā)布
最熱 最新
只看我的

手記推薦

更多

本次提問將花費(fèi)2個(gè)積分

你的積分不足,無法發(fā)表

為什么扣積分?

本次提問將花費(fèi)2個(gè)積分

繼續(xù)發(fā)表請點(diǎn)擊 "確定"

為什么扣積分?