上一篇文章: Python裝飾器:python真正入門的鑑定標準
下一篇文章: Python垃圾回收詳解
變量定義規則python
變量形式 | 解讀 |
---|---|
xx | 公有變量xx |
_xx | 單前置下劃線,私有化屬性或方法,from somemodule import *禁止導入,類對象和子類進能夠訪問。 |
__xx | 雙前置下劃線,避免與子類中的屬性命名衝突,沒法再在外部直接訪問。 |
__xx__ | 雙先後下劃線,python自定義使用的的屬性或者方法名稱,例如__init__,不要自定義這種名稱的變量 |
x_ | 單後置下劃線,避免與Python關鍵詞衝突 |
實例:segmentfault
class Man(): def __init__(self): self.__age=18 def getAge(self): return self.__age def setAge(self,value): #isinstance用來判斷一個對象是否是指定類型 #下面語句就是用來判斷value是否是int類型 if isinstance(value,int): self.__age=value else: print("輸入的年齡不是整數") if __name__=="__main__": mark=Man() mark.setAge("xxx") print(mark.getAge()) mark.setAge(20) print(mark.getAge()) #下面一句會報錯 #print(mark.age)
結果:code
輸入的年齡不是整數 18 20
實例:對象
class Man(): def __init__(self): self.__age = 18 def getAge(self): return self.__age def setAge(self, value): # isinstance用來判斷一個對象是否是指定類型 # 下面語句就是用來判斷value是否是int類型 if isinstance(value, int): self.__age = value else: print("輸入的年齡不是整數") age=property(getAge,setAge) if __name__ == "__main__": mark = Man() mark.age="xxx" print(mark.age) mark.age=20 print(mark.age)
結果:get
輸入的年齡不是整數 18 20
實例:it
class Man(): def __init__(self): self.__age = 18 @property def age(self): return self.__age @age.setter def age(self,value): # isinstance用來判斷一個對象是否是指定類型 # 下面語句就是用來判斷value是否是int類型 if isinstance(value, int): self.__age = value else: print("輸入的年齡不是整數") if __name__ == "__main__": mark = Man() mark.age="xxx" print(mark.age) mark.age=20 print(mark.age)
結果:入門
輸入的年齡不是整數 18 20