本文實例講述了Python基于property實現(xiàn)類的特性操作。分享給大家供大家參考,具體如下:
Python中的特性是一個函數(shù),但是在使用的形式上看起來更像是一個屬性。針對一個對象來說,與屬性相比,特性是不能夠隨意添加的。而對象的屬性,默認情況下添加是十分簡單的。
下面通過代碼展示如何使用property實現(xiàn)特性:
# -*- coding:utf-8 -*-#!python3class MyClass: def __init__(self,val1,val2): self.val1 = val1 self.val2 = val2 @property def Sum(self): return self.val1 + self.val2obj =MyClass(34,45)print(obj.Sum)
程序的執(zhí)行結(jié)果如下:
79
從上面的結(jié)果來看,特性在調(diào)用的時候跟屬性是差不多的。如果通過類似方法的調(diào)用則會報錯,下面修改代碼如下:
# -*- coding:utf-8 -*-#!python3class MyClass: def __init__(self,val1,val2): self.val1 = val1 self.val2 = val2 @property def Sum(self): return self.val1 + self.val2obj =MyClass(34,45)print(obj.Sum)# wrong way tocall the Sum propertyprint(obj.Sum())
程序執(zhí)行結(jié)果如下:
79
Traceback (most recent call last):
File "C:/py3/jb51PyDemo/src/Demo/propertyDemo.py", line 13, in <module>
print(obj.Sum())
TypeError: 'int' object is not callable
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計入門與進階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
新聞熱點
疑難解答