1. 程式人生 > >python3的getter方法setter方法以及property修飾

python3的getter方法setter方法以及property修飾

列表 def 如果 值類型 內存 prope 返回值 添加屬性 私有化

class Dog: def __init__(self,name,age): self.__name = name self.__age = age @property def age(self): return self.__age @age.setter def age(self,age): self.__age = age @property def name(self): return self.__name @name.setter def name(self,name): self.__name = name d = Dog(‘天道‘,20) d.name = ‘修羅道‘ d.age = 50 print(d.name,d.age)

列表.sort() 字符串默認按unicode碼排序
可接收一個參數key,例如:sort(key=len) 按長度排序
參數key的值為數值類型的時候,表示該列表所有值都轉換為該類型,再進行比較
sorted(排序的列表,key=類型) 用法和sort基本一直,但可以對任意序列進行排序,並且不會影響原來的對象,而是返回一個新對象br/>函數作為返回值返回,也是一種高階函數,這種高階函數,也稱為閉包
閉包要件:
1、函數嵌套
2、將內部函數作為返回值返回
3、內部函數必須要使用到外部函數的變量
裝飾器:
方法名上一行用@裝飾器對象,不能寫方法名加()
對象是內存中專門用來存儲數據的一塊區域
對象中可以存放各種數據(數字、布爾值、代碼)

對象由三部分組成:
對象的標識(id)
對象的類型(type)
對象的值(value)
類命名規則:
1.首字母大寫

isinstance(實例對象,類對象) 檢查一個對象是否是一個類的實例
對象名.屬性名 = 屬性值 給對象裏添加屬性
定義對象的方法時,至少需要定義一個self形參
調用一個對象時,解析器會先在當前對象中尋找是否含有該屬性,如果有,則直接返回當前的對象屬性值,如果沒有,則去當前對象的類對象中去尋找,如果有則返回類對象的屬性值,還沒有則報錯
封裝是面向對象的三大特性之一
封裝指隱藏對象中一些不希望被外部訪問到的屬性或方法
對象屬性名 隱藏屬性,不能通過對象訪問,在屬性被修飾時,python會自動為屬性改名:_類名__屬性名,通過_類名__屬性名可以訪問

_對象屬性名 私有化屬性,類內部可訪問br/>getter方法上面加了@property後,可以像調用屬性一樣,調用方法,被property修飾的方法,方法名必須和屬性名一致
getter方法必須寫在setter上面

python3的getter方法setter方法以及property修飾