最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python對象屬性自動更新操作示例

 更新時間:2018年06月15日 11:52:23   作者:grey_csdn  
這篇文章主要介紹了Python對象屬性自動更新操作,結合實例形式對比分析了Python對象屬性自動更新的原理,并改進了屬性互聯(lián)操作實現(xiàn)方法,需要的朋友可以參考下

本文實例講述了Python對象屬性自動更新操作。分享給大家供大家參考,具體如下:

在軟件設計中會遇到這樣的問題:有些屬性之間有相互關聯(lián)。這樣,其中的一個屬性變化的時候其他的屬性也應該跟隨變化。

先看一段示例代碼:

# -*- coding:utf-8 -*-
#!python3
class DemoClss:
  def __init__(self,val1,val2):
    self.val1= val1
    self.val2= val2
    self.sum= self.val1 + self.val2
obj = DemoClss(123,234)
print(obj.sum)
obj.val1 = 321
print(obj.sum)

代碼的執(zhí)行結果如下:

兩個結果一致!其實,這種類似的設計中我們大多時候是希望有一個sum屬性跟隨者兩個數(shù)值能夠自動變化。但是,上面的這種方式顯然是不行的,因為這種設計的生效只能夠是在初始化的時候生效。

那么,如果想要實現(xiàn)一個隨時求和的方法我們該怎么做呢?其實,我們可以通過方法來實現(xiàn)!代碼的改進如下:

# -*- coding:utf-8 -*-
#!python3
class DemoClss:
  def __init__(self,val1,val2):
    self.val1= val1
    self.val2= val2
  def sum(self):
    return self.val1 + self.val2
obj = DemoClss(123,234)
print(obj.sum())
obj.val1 = 321
print(obj.sum())

程序的執(zhí)行結果如下:

這樣的改進方式是可行的,但是卻總覺得有點不方便。因為總體上的實現(xiàn)并沒有體現(xiàn)出OOP的什么優(yōu)勢,說穿了這其實還是函數(shù)調(diào)用而已。那么,能不能改進一下呢?我們期望的又是一種什么樣的效果呢?其實,我們需要的功能應該是一個初始化功能而方法功能的一個結合體,而這種類似功能的結合體是存在的,那就是特性。特性是一種看上去像方法的屬性,每次引用都會執(zhí)行相關的方法。如此,代碼改進如下:

# -*- coding:utf-8 -*-
#!python3
class DemoClss:
  def __init__(self,val1,val2):
    self.val1= val1
    self.val2= val2
  @property
  def sum(self):
    return self.val1 + self.val2
obj = DemoClss(123,234)
print(obj.sum)
obj.val1 = 321
print(obj.sum)

程序執(zhí)行結果如下:

這樣就實現(xiàn)了關聯(lián)屬性的自動更新,看上去更加符合人們的正常思維了。

更多關于Python相關內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O計入門與進階教程》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結》及《Python入門與進階經(jīng)典教程

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • 談談Python:為什么類中的私有屬性可以在外部賦值并訪問

    談談Python:為什么類中的私有屬性可以在外部賦值并訪問

    這篇文章主要介紹了談談Python:為什么類中的私有屬性可以在外部賦值并訪問,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • PPOCRLabel標注的txt格式如何轉(zhuǎn)換成labelme能修改的json格式

    PPOCRLabel標注的txt格式如何轉(zhuǎn)換成labelme能修改的json格式

    這篇文章主要介紹了PPOCRLabel標注的txt格式如何轉(zhuǎn)換成labelme能修改的json格式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Python Selenium安裝及環(huán)境配置的實現(xiàn)

    Python Selenium安裝及環(huán)境配置的實現(xiàn)

    這篇文章主要介紹了Python Selenium安裝及環(huán)境配置的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Python數(shù)值方法及數(shù)據(jù)可視化

    Python數(shù)值方法及數(shù)據(jù)可視化

    這篇文章主要介紹了Python數(shù)值方法及數(shù)據(jù)可視化,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • Python中re模塊下的函數(shù)詳解

    Python中re模塊下的函數(shù)詳解

    這篇文章主要介紹了Python中re模塊下的函數(shù)詳解,re.match() 函數(shù)是從頭開始匹配一個符合規(guī)則的字符串,從起始位置開始匹配,匹配成功返回一個對象,未匹配成功返回None,需要的朋友可以參考下
    2023-08-08
  • Python中Turtle庫改變畫筆(海龜)方向的兩種方法總結

    Python中Turtle庫改變畫筆(海龜)方向的兩種方法總結

    turtle庫是python標準庫之一,入門級繪圖庫,import turtle之后即可使用,下面這篇文章主要給大家介紹了關于Python中Turtle庫改變畫筆(海龜)方向的兩種方法,需要的朋友可以參考下
    2022-11-11
  • Python實現(xiàn)曲線的肘部點檢測詳解

    Python實現(xiàn)曲線的肘部點檢測詳解

    肘部法則是經(jīng)常使用的法則。很多時候,可以憑人工經(jīng)驗去找最優(yōu)拐點,但有時需要自動尋找拐點。本文為大家介紹了Python實現(xiàn)曲線的肘部點檢測的方法,希望對大家有所幫助
    2023-02-02
  • Python基于內(nèi)置庫pytesseract實現(xiàn)圖片驗證碼識別功能

    Python基于內(nèi)置庫pytesseract實現(xiàn)圖片驗證碼識別功能

    這篇文章主要介紹了Python基于內(nèi)置庫pytesseract實現(xiàn)圖片驗證碼識別功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • opencv python如何實現(xiàn)圖像二值化

    opencv python如何實現(xiàn)圖像二值化

    這篇文章主要介紹了opencv python如何實現(xiàn)圖像二值化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • 詳解python?Warning警告有哪些情況

    詳解python?Warning警告有哪些情況

    這篇文章主要為大家介紹分析了python?Warning警告有哪些情況示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06

最新評論

万山特区| 临漳县| 双峰县| 吴江市| 五指山市| 沂水县| 瑞丽市| 新干县| 聂荣县| 钦州市| 兴和县| 柳河县| 永嘉县| 勃利县| 彝良县| 兴城市| 安化县| 奉新县| 台南市| 特克斯县| 滦平县| 宁蒗| 固原市| 无极县| 乐亭县| 拜泉县| 常宁市| 色达县| 开化县| 金秀| 日土县| 大丰市| 大新县| 五寨县| 茶陵县| 汉川市| 昌江| 本溪| 福鼎市| 分宜县| 嘉祥县|