Python基于property實(shí)現(xiàn)類的特性操作示例
本文實(shí)例講述了Python基于property實(shí)現(xiàn)類的特性操作。分享給大家供大家參考,具體如下:
Python中的特性是一個(gè)函數(shù),但是在使用的形式上看起來更像是一個(gè)屬性。針對(duì)一個(gè)對(duì)象來說,與屬性相比,特性是不能夠隨意添加的。而對(duì)象的屬性,默認(rèn)情況下添加是十分簡單的。
下面通過代碼展示如何使用property實(shí)現(xiàn)特性:
# -*- coding:utf-8 -*- #!python3 class MyClass: def __init__(self,val1,val2): self.val1 = val1 self.val2 = val2 @property def Sum(self): return self.val1 + self.val2 obj =MyClass(34,45) print(obj.Sum)
程序的執(zhí)行結(jié)果如下:
79
從上面的結(jié)果來看,特性在調(diào)用的時(shí)候跟屬性是差不多的。如果通過類似方法的調(diào)用則會(huì)報(bào)錯(cuò),下面修改代碼如下:
# -*- coding:utf-8 -*- #!python3 class MyClass: def __init__(self,val1,val2): self.val1 = val1 self.val2 = val2 @property def Sum(self): return self.val1 + self.val2 obj =MyClass(34,45) print(obj.Sum) # wrong way tocall the Sum property print(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è)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- 解決python寫入mysql中datetime類型遇到的問題
- Python 類的特殊成員解析
- Python把csv數(shù)據(jù)寫入list和字典類型的變量腳本方法
- python 基本數(shù)據(jù)類型占用內(nèi)存空間大小的實(shí)例
- Python DataFrame設(shè)置/更改列表字段/元素類型的方法
- Python3實(shí)現(xiàn)的Mysql數(shù)據(jù)庫操作封裝類
- Python面向?qū)ο箢惱^承和組合實(shí)例分析
- Python帶動(dòng)態(tài)參數(shù)功能的sqlite工具類
- python使用RNN實(shí)現(xiàn)文本分類
- Python操作Oracle數(shù)據(jù)庫的簡單方法和封裝類實(shí)例
- 深入淺析Python的類
相關(guān)文章
Python安裝Scrapy庫的常見報(bào)錯(cuò)解決
本文主要介紹了Python安裝Scrapy庫的常見報(bào)錯(cuò)解決,文中通過圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11Python 照片人物背景替換的實(shí)現(xiàn)方法
本文主要介紹了如何通過Python實(shí)現(xiàn)照片中人物背景圖的替換,甚至可以精細(xì)到頭發(fā)絲,感興趣的小伙伴可以看看2021-11-11python實(shí)現(xiàn)獲取當(dāng)前設(shè)備的地點(diǎn)位置
這篇文章主要介紹了python實(shí)現(xiàn)獲取當(dāng)前設(shè)備的地點(diǎn)位置,電腦如何獲取當(dāng)前所處的地理位置?它不會(huì)像我們一樣對(duì)地理位置有感性的認(rèn)知,它只認(rèn)識(shí)數(shù)據(jù),簡言之,電腦可以通過獲取當(dāng)前連接的公網(wǎng)IP,反推所處的位置環(huán)境,需要的朋友可以參考一下2022-03-03Python?網(wǎng)頁請(qǐng)求之requests庫的使用詳解
requests?是?Python?中比較常用的網(wǎng)頁請(qǐng)求庫,主要用來發(fā)送?HTTP?請(qǐng)求,在使用爬蟲或測試服務(wù)器響應(yīng)數(shù)據(jù)時(shí)經(jīng)常會(huì)用到,使用起來十分簡潔,這篇文章主要介紹了Python?網(wǎng)頁請(qǐng)求之requests庫的使用詳解,需要的朋友可以參考下2022-09-09selenium攜帶cookies模擬登陸CSDN的實(shí)現(xiàn)
這篇文章主要介紹了selenium攜帶cookies模擬登陸CSDN的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01