中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Python對象屬性的set和get

發布時間:2020-08-25 13:52:30 來源:億速云 閱讀:128 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關怎么使用Python對象屬性的set和get,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

屬性的set和get方法

如果有一個對象,當需要對其進行修改屬性時,有2種方法:

1.對象名.屬性名 = 數據 —->直接修改

2.對象名.方法名() —->間接修改

為了更好的保存屬性安全,即不能隨意修改,一般的處理方式為:

1.將屬性定義為私有屬性。

2.添加一個可以調用的方法,供調用。

 class Person(object):
     def __init__(self, name):
         #以__開頭的屬性表示私有屬性,不允許外部訪問
         self.__name = name
 
     def getName(self):
         return self.__name
 
     def setName(self,newName):
         if len(newName)>=5:
             self.__name = newName
         else:
             print("Error:輸入的名字長度不夠")
 
xiaoming = Person("Se7eN_HOU")
print(xiaoming.__name)

運行結果為:

Traceback (most recent call last):
  File "C:\Users\Se7eN_HOU\Desktop\demo.py", line 16, in <module>
    print(xiaoming.__name)
AttributeError: 'Person' object has no attribute '__name'

修改為如下代碼:

class Person(object):
    def __init__(self, name):
        #以__開頭的屬性表示私有屬性,不允許外部訪問
        self.__name = name
    def getName(self):
        return self.__name
    def setName(self,newName):
        if len(newName)>=5:
            self.__name = newName
        else:
            print("Error:輸入的名字長度不夠")
xiaoming = Person("Se7eN")
xiaoming.setName("Se7eN_HOU")
print(xiaoming.getName())
xiaoming.setName("HOU")
print(xiaoming.getName())

運行結果為:

Se7eN_HOU
Error:輸入的名字長度不夠
Se7eN_HOU

說明:

1.Python中沒有像C++中public和private這些關鍵字來區別公有屬性和私有屬性。

2.它是以屬性命名方式來區分,如果在屬性名前面加了2個下劃線’__’,則表明該屬性是私有屬性,否則為公有屬性(方法也是一樣,方法名前面加了2個下劃線的話表示該方法是私有的,否則為公有的)。

以上就是怎么使用Python對象屬性的set和get,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林芝县| 中江县| 高邮市| 个旧市| 乌海市| 上饶县| 高陵县| 司法| 礼泉县| 聂拉木县| 得荣县| 柳江县| 无为县| 贺兰县| 绿春县| 柳河县| 罗甸县| 铜鼓县| 盐源县| 寻乌县| 曲松县| 东乡县| 南丹县| 浑源县| 浦北县| 维西| 鄂伦春自治旗| 萍乡市| 公安县| 攀枝花市| 敦煌市| 温州市| 卫辉市| 田林县| 孝义市| 修武县| 大余县| 铜鼓县| 苏尼特左旗| 宁明县| 秭归县|