# -*- coding: utf-8 -*-
class
people
(object):
def__init__
(self, name, age):
self.name = name
self.age = age
# 私有屬性
self.__number = 0
# 這倆函式的作用,就是在為了在類宣告的外部,可以訪問到私有屬性
# 專門定義函式獲取私有屬性值
# def num(self):
# # 返回私有屬性值
# return self.__number
## # 專門定義函式設定私有屬性值
# # qwer是乙個函式名 隨便取
# def qwer(self,value):
# # 給物件的屬性賦值
# self.__number = value
# # 專門定義函式刪除私有屬性
# def delete_attr(self):
# # 刪除屬性
# del self.__number
# 獲取私有屬性值 number = p1.number 會執行這個函式
@property
defnumber
(self):
# 返回私有屬性值
return self.__number
# 設定私有屬性值 p1.number = 666
@number.setter
defnumber
(self, value):
# 設定__number的值
self.__number = value
# 刪除私有屬性 del p1.number 會執行這個函式
@number.deleter
defnumber
(self):
# 刪除屬性
del self.__number
# @property
# def work(self): # 當rs = 物件.work 會執行這個函式
# print('執行了@property裝飾的work函式')
## @work.setter # 當物件.work = 值 會執行這個函式
# def work(self, value):
# print('執行了@work.setter裝飾的work函式')
## @work.deleter # 當 del 物件.work 會執行這個函式
# def work(self):
# print('執行了@work.deleter裝飾的work函式')
p1 = people('張三', 22)
# 執行@property裝飾的函式
# p1.work
# 執行@work.setter裝飾的函式
# p1.work = 2000
# 執行@work.deleter裝飾的函式
# del p1.work
# 在類宣告的外部,無法直接訪問私有屬性
# number = p1.num()
# print(number)
# 在類宣告的外部,無法直接訪問私有屬性
# p1.__number = 1000
# p1.qwer(1000)
# number = p1.num()
# print(number)
# 在類宣告的外部,無法直接訪問私有屬性
# del p1.__number
# p1.delete_attr()
# 正常的物件屬性賦值
# 物件.屬性名 = 屬性值
p1.name = '李四'
# 獲取物件的屬性值
name = p1.name
# 刪除物件的屬性
del p1.name
# 私有屬性公升級版
# 會去執行@property裝飾number函式,函式執行完成後返回乙個結果
num = p1.number
print(num)
# 會去執行@number.setter裝飾的number函式,在函式中設定__number屬性的值
p1.number = 666
# 會去執行@property裝飾number函式,函式執行完成後返回乙個結果
print(p1.number)
# 會去執行@number.deleter裝飾的number函式,在函式中會將__number屬性刪除
del p1.number
# 會去執行@property裝飾number函式,函式執行完成後返回乙個結果
print(p1.number)
property屬性引數
1.讀寫屬性 預設是readwrite,會生成getter和setter方法 如果是readonly表示只會生成getter方法 2.setter處理 預設是assign 賦值 因此基本資料型別不需要加這個引數。因為在setter方法裡,我們經常要將乙個物件賦值給類的成員屬性,這個時候根據記憶體管理...
Property 屬性動畫
單個屬性動畫 objectanimator offloat view,rotationx 0,180 setduration 3000 start 多個屬性動畫 多個屬性動畫組合 設定乙個中心點 view.setpivotx 0.5f view.setpivoty 0.5f 方式一 建立多個屬性動畫...
屬性(Property)動畫
屬性動畫與補間動畫的區別 最大的區別是補間動畫就算控制項移動到任何位置,控制項本身位置還是不變。而屬性動畫是直接改變控制項的位置。從某種角度看,屬性動畫是增強版的補間動畫,其強大體現在兩方面 補間 tween 動畫只能定義兩個關鍵幀在透明度 旋轉 傾斜 位移這4個方面的變化,而屬性動畫可以定義任何屬...