python科技限制 python 訪問限制

2021-10-13 08:02:21 字數 1249 閱讀 3401

class person(object):

def run(self):

print(self.__money)

print("run")

def eat(self, food):

print("eat " + food)

def __init__(self, name, age, height, weight, money):

self.name = name

self.__age__ = age

self._height = height

self.weight = weight

self.__money = money#_person__money

#通過內部的方法,取修改私有屬性

#通過自定義的方法實現對私有屬性的賦值與取值

def setmoney(self, money):

#資料的過濾

if money < 0:

money = 0

self.__money = money

def getmoney(self):

return self.__money

per = person("hanmeimei", 20, 170, 55, 100000)

#per.age = 10

#print(per.age)

#如果要讓的內部屬性不被外部直接訪問,在屬性前加兩個下劃線(__),在python中如果在屬性前加兩個下劃線,那麼這個屬性就變成了私有屬性

#print(per.__money) #外部使用

#per.run() #內部可以使用

per.setmoney(10)

print(per.getmoney())

#不能直接訪問per.__money是因為python直譯器把__money變成了_person__money,仍然可以用_person__money去訪問,但是強烈建議不要這麼幹(帥的人都不這麼幹),不同的直譯器可能存在解釋的變數名不一致

per._person__money = 1

print(per.getmoney())

#在python中 __***__ 屬於特殊變數,可以直接訪問

print(per.__age__)

#在python中 _*** 變數,這樣的例項變數外部是可以訪問的,但是,按照約定的規則,當我們看到這樣的變數時,意思是「雖然我可以被訪問,但是請把我視為私有變數,不要直接訪問我」

print(per._height)

Python訪問限制

我們可以給乙個例項繫結很多屬性,如果有些屬性不希望被外部訪問到怎麼辦?python對屬性許可權的控制是通過屬性名來實現的,如果乙個屬性由雙下劃線開頭 該屬性就無法被外部訪問。看例子 class person object def init self,name self.name name self....

Python 訪問限制

內部屬性不被外部訪問,可以把屬性的名稱前加上兩個下劃線 在python中,例項的變數名如果以 開頭,就變成了乙個私有變數 private 只有內部可以訪問,外部不能訪問 class student object def init self,name,score self.name name self...

python 訪問限制

class person object def init self,name,age,weight,height,money self.name name self.age age self.weight weight self.height height self.money money def ...