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

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

Python定義實例方法

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

class Person(object):

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

    def get_name(self):
        return self.__name

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

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

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

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())

任務

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

?不會了怎么辦

參考答案:

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

提問題

寫筆記

公開筆記
提交
||

請驗證,完成請求

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

加群二維碼

打開微信掃碼自動綁定

您還未綁定服務號

綁定后可得到

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

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

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

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

舉報

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

手記推薦

更多

本次提問將花費2個積分

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

為什么扣積分?

本次提問將花費2個積分

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

為什么扣積分?