Python筆記 私有屬性的使用

2021-10-16 12:50:29 字數 1427 閱讀 8661

import datetime

class

person

(object):

def__init__

(self,name,age)

: self.name = name

self.age = age

self.__money =

1000

#以兩個下劃線 __ 開始的變數是私有變數

defget_money

(self)

:print

('{}查詢了餘額'

.format

(datetime.datetime.now())

)return self.__money

defset_money

(self,qian):if

type

(qian)

!=int

:print

('設定的餘額不合法'

)return

print

('修改餘額了'

) self.__money = qian

def__demo

(self)

:#以兩個下劃線開始的函式是私有函式,在外部無法呼叫

print

('我是demo函式,name = {}'

.format

(self.name)

)def

test

(self)

: self.__demo(

)p = person(

'張三',18

)print

(p.name,p.age)

#可以直接獲取到

#print(p.__money)會報錯 #不能夠直接獲取到私有變數

#獲取私有變數的方法

"""1.使用物件._類名__私有變數名獲取"""

print

(p._person__money)

"""2.定義get和set方法來獲取"""

print

(p.get_money())

p.set_money(

'hello'

)print

(p.get_money())

"""3.使用property來獲取"""

結果

張三 18

1000

2021-01

-1821:

10:03.609700查詢了餘額

1000

設定的餘額不合法

2021-01

-1821:

10:03.610579查詢了餘額

1000

process finished with exit code 0

python 私有屬性和視為私有屬性

python模組中的視為私有屬性 總的來說,python中有 幾種特殊的屬性 在python模組中,我們經常會見到 x 其中後面兩種 x 是習慣上的私有變數,我們不應該在外部使用它,而是應該通過呼叫內部函式來使用,但這裡是不應該而不是不能,所以要靠我們自覺遵守這個標準,另外,在自定義模組的時候,也要...

Python學習筆記(14) 私有屬性 私有方法

只允許在類內部訪問的屬性叫做私有屬性 表現形式 在屬性前加兩個下劃線,如self.name 私有屬性的特點 只能在類內部中訪問,類外部訪問則報錯 私有屬性的好處 防止屬性在類外被隨意更改 示例1 定義乙個狗類,設定私有屬性 name,在類外直接訪問私有屬性dog1.name class dog de...

python中的私有屬性

我們先來看前置雙下劃線 以前置雙下劃線定義的屬性和方法,例項物件和子類無法呼叫和訪問。首先看看例項物件對於私有方法的訪問許可權 class grandfather def init self self.name grandpa self.age 80 私有屬性 self.money 1000 私有方...