Python @property裝飾器原理解析

 更新時間:2020-01-22 11:00:17   作者:佚名   我要評論(0)

這篇文章主要介紹了Python @property裝飾器原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
1.通過@p

這篇文章主要介紹了Python @property裝飾器原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1.通過@property裝飾器,可以直接通過方法名來訪問方法,不需要在方法名后添加一對“()”小括號。

class Person:
  def __init__(self, name):
    self.__name = name
  @property
  def say(self):
    return self.__name
xioabai = Person("xiaobai")
#直接通過方法名來訪問say方法
print("我的名字是:", xiaobai.say)
我的名字是: xiaobai

上面程序中,使用@property修飾了say()方法,這就使得該方法變成了name屬性的getter方法。

2.使用setter裝飾器,可以為say方法添加setter方法。

class Person:
  def __init__(self, name):
    self.__name = name
  @property
  def say(self):
    return self.__name
  @say.setter
  def say(self, value):
    self.__name = value
xiaobai = Person("xiaobai")
xiaobai.say = "xiaohei"
print("我的名字其實是:", xiaobai.say)
我的名字其實是: xiaohei

3.使用deleter裝飾器來刪除指定屬性,可以為say方法添加deleter方法

class Person:
  def __init__(self, name):
    self.__name = name
  @property
  def say(self):
    return self.__name
  @say.setter
  def say(self, value):
    self.__name = value
  @say.deleter
  def say(self):
    self.__name = "xxx"
xiaobai = Person("xiaobai")
del xiaobai.say
print("我的名字其實是:", xiaobai.say)
我的名字其實是: xxx

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

  • Python 中@property的用法詳解
  • Python @property使用方法解析
  • python中property屬性的介紹及其應用詳解
  • python3.6中@property裝飾器的使用方法示例
  • Python中@property的理解和使用示例
  • python3中property使用方法詳解
  • Python進階之@property動態屬性的實現
  • Python中property屬性實例解析
  • python基于property()函數定義屬性

相關文章

  • Python @property裝飾器原理解析

    Python @property裝飾器原理解析

    這篇文章主要介紹了Python @property裝飾器原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下 1.通過@p
    2020-01-22
  • spring cloud gateway整合sentinel實現網關限流

    spring cloud gateway整合sentinel實現網關限流

    這篇文章主要介紹了spring cloud gateway整合sentinel實現網關限流,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參
    2020-01-22
  • python基于property()函數定義屬性

    python基于property()函數定義屬性

    這篇文章主要介紹了python基于property()函數定義屬性,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下 正常情
    2020-01-22
  • vue中js判斷長時間不操作界面自動退出登錄(推薦)

    vue中js判斷長時間不操作界面自動退出登錄(推薦)

    需求說明,后臺有做半個小時不請求接口的話返回標識退出登錄,但是要請求接口才行,現在要實現前端用js判斷半個小時不操作界面的話自動跳轉到登錄頁面。 創建一個.j
    2020-01-22
  • 通過實例解析python描述符原理作用

    通過實例解析python描述符原理作用

    這篇文章主要介紹了通過實例解析python描述符原理作用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下 本質上
    2020-01-22
  • ES6學習筆記之新增數據類型實例解析

    ES6學習筆記之新增數據類型實例解析

    本文實例講述了ES6學習筆記之新增數據類型。分享給大家供大家參考,具體如下: 1、數據解構賦值 1、數組的解構賦值 基本用法:let [key1,key2...]=[value1,value2..
    2020-01-22
  • python定義類self用法實例解析

    python定義類self用法實例解析

    這篇文章主要介紹了python定義類self用法實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下 在定義類的
    2020-01-22
  • Go 驗證字符串中是否包含中文(推薦)

    Go 驗證字符串中是否包含中文(推薦)

    發現一個驗證字符串是否包含中文滴時候,一個比正則更好使滴方法,而且是golang 自帶滴驗證。 不需要自己寫正則驗證,代碼如下: package main import ( "fmt"
    2020-01-22
  • spring cloud gateway網關路由分配代碼實例解析

    spring cloud gateway網關路由分配代碼實例解析

    這篇文章主要介紹了spring cloud gateway網關路由分配代碼實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參
    2020-01-22
  • python通過opencv實現圖片裁剪原理解析

    python通過opencv實現圖片裁剪原理解析

    這篇文章主要介紹了python通過opencv實現圖片裁剪原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下 圖
    2020-01-19

最新評論

老快3投注技巧