物件的私有屬性

2021-08-15 06:27:08 字數 2280 閱讀 7550

# -*- coding:utf-8 -*-
1. 物件的私有屬性

#宣告乙個物件的私有屬性

#私有屬性只能在類宣告的範圍內使

#宣告私有屬性值,需要在屬性名前新增__雙下劃線

class people(object):

"""description可以寫一些類的描述"""

def __init__(self,name):

self.name = name

#宣告乙個物件的私有屬性

#私有屬性只能在類宣告的範圍內使

#宣告私有屬性值,需要在屬性名前新增__雙下劃線

self.__age = 18

self._hight = 180

2.如果想要在類宣告的外部獲取私有屬性的屬性值,專門寫乙個函式,在函式中將私有屬性值返回,在類宣告外部就可以呼叫這個獲取私有屬性(__age)的屬性值

def get_age(self):

# print(self.__age)

# 返回__age的屬性值

return self.__age

3. 如果想要在類宣告的外部設定私有屬性的屬性值,專門寫乙個函式,在函式中將私有屬性值進行賦值,在類宣告外部就可以呼叫這個設定私有屬性(__age)的屬性值

def set_age(self,value):

#類宣告的範圍內,可以放私有屬性

self.__age = value

p1 = people('張三')

print(p1.name)

4. 超出類宣告的範圍,所以這個位置是無法訪問__age屬性值的

# attributeerror: 'people' object has no attribute '__age'

# print(p1.__age)

5. 通過呼叫

get_age()函式,獲取__age的值

age = p1.get_age()

print(age)

6. 在類宣告外部,無法直接修改私有屬性值

p1.set_age(20)

age = p1.get_age()

print(age)

以上**執行結果: 張三

1820

7.完整**:

# -*- coding:utf-8 -*-

# 物件的私有屬性

class people(object):

"""description可以寫一些類的描述"""

def __init__(self,name):

self.name = name

#宣告乙個物件的私有屬性

#私有屬性只能在類宣告的範圍內使

#宣告私有屬性值,需要在屬性名前新增__雙下劃線

self.__age = 18

self._hight = 180

#如果想要在類宣告的外部獲取私有屬性的屬性值,專門寫乙個函式,在函式中將私有屬性值返回,在類宣告外部就可以呼叫這個獲取私有屬性(__age)的屬性值

def get_age(self):

# print(self.__age)

# 返回__age的屬性值

return self.__age

# 如果想要在類宣告的外部設定私有屬性的屬性值,專門寫乙個函式,在函式中將私有屬性值進行賦值,在類宣告外部就可以呼叫這個設定私有屬性(__age)的屬性值

def set_age(self,value):

#類宣告的範圍內,可以放私有屬性

self.__age = value

p1 = people('張三')

print(p1.name)

# 超出類宣告的範圍,所以這個位置是無法訪問__age屬性值的

# attributeerror: 'people' object has no attribute '__age'

# print(p1.__age)

# 通過呼叫get_age()函式,獲取__age的值

age = p1.get_age()

print(age)

# 在類宣告外部,無法直接修改私有屬性值

p1.set_age(20)

age = p1.get_age()

print(age)

物件的私有屬性

coding utf 8 物件的私有屬性 class people object descrapition 可以寫一些類的描述 def init self,name self.name name 宣告乙個物件的私有屬性 私有屬性只能在類宣告的範圍內使用 宣告私有屬性,需要在屬性名前新增 雙下劃線 s...

物件導向(私有)屬性和方法

1 屬性 1 例項屬性 即 init self 中的屬性。需要先例項化乙個物件,然後才能被呼叫。2 類屬性 即寫在乙個類中,方法外面的屬性。供整個類及由類派生出來的物件使用,通過類名點屬性呼叫。2 方法 1 例項方法 即引數中含有self的方法,需要先例項化乙個具體物件,通過物件呼叫該方法。其中,s...

Python物件導向06 私有屬性和私有方法

應用場景 定義方式 class women def init self,name self.name name 不要問女生的年齡 self.age 18 def secret self print 我的年齡是 d self.age xiaofang women 小芳 私有屬性,外部不能直接訪問 pr...