91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python OOP類中的幾種函數或方法總結

發布時間:2020-08-23 12:53:31 來源:腳本之家 閱讀:171 作者:Money多多 欄目:開發技術

概述

實例方法

  • 使用實例調用時,默認傳遞實例本身到實例方法的第一個參數self
  • 使用類調用時,必須傳遞一個實例對象到實例方法的第一個參數

靜態方法

  • 使用實例調用和類調用效果相同;

類方法

裝飾器版:

  • 使用實例調用和類調用效果相同;

classmethod(function)版:

  • 在類中,盡量不要使用classmethod(function)實現類方法,會將其當做實例方法使用;
  • 使用實例調用時,會默認傳遞實例本身到函數的第一個參數,如果函數的參數個數為0,則報錯;
  • 如果必須這樣做,就使用類調用.

普通函數

  • 在類中,盡量不要定義普通函數,會將其當做實例方法使用;
  • 使用實例調用時,會默認傳遞實例本身到函數的第一個參數,如果函數的參數個數為0,則報錯;
  • 如果必須這樣做,就使用類調用.

總而言之,除了裝飾器版的類方法和靜態方法外,其它方法與函數均可看做是實例方法.

代碼與運行結果

class A(object):
  def instant_method(self,*args):
    print('實例方法',*args)
  @classmethod
  def class_method_01(clz,*args):
    """第一個參數為class,調用時自動傳遞"""
    print('類方法(裝飾器版)',*args)
  def class_method_02(*args):
    print('類方法(普通函數通過內置函數classmethond(function)轉換版)',*args)
  classmethod(class_method_02)
  @staticmethod
  def static_method(*args):
    print('靜態方法',*args)
  def normal_function(*args):
    print('普通函數',*args)
a=A()
# 調用實例方法
a.instant_method('通過實例調用')
A.instant_method(a,'通過類調用')
# 調用裝飾器版類方法
a.class_method_01('通過實例調用')
A.class_method_01('通過類調用')
# 調用classmethod(function)版類方法
# 通過實例調用時,會默認傳遞實例本身到方法的第一個參數
a.class_method_02('通過實例調用')
A.class_method_02('通過類調用')
# 調用靜態方法
a.static_method('通過實例調用')
A.static_method('通過類調用')
# 調用普通函數
# 通過實例調用時,會默認傳遞實例本身到方法的第一個參數
a.normal_function('通過實例調用')
A.normal_function('通過類調用')

輸出

實例方法 通過實例調用
實例方法 通過類調用
類方法(裝飾器版) 通過實例調用
類方法(裝飾器版) 通過類調用
類方法(普通函數通過內置函數classmethond(function)轉換版) <main.A object at 0x7f9b9b0486a0> 通過實例調用
類方法(普通函數通過內置函數classmethond(function)轉換版) 通過類調用
靜態方法 通過實例調用
靜態方法 通過類調用
普通函數 <main.A object at 0x7f9b9b0486a0> 通過實例調用
普通函數 通過類調用

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

津市市| 皮山县| 忻城县| 仁布县| 浪卡子县| 九寨沟县| 中山市| 旌德县| 晋州市| 三原县| 长沙县| 盘锦市| 琼海市| 新营市| 博兴县| 克拉玛依市| 望城县| 合作市| 平阳县| 自贡市| 沙湾县| 天津市| 太和县| 永丰县| 缙云县| 富裕县| 繁昌县| 晋城| 皮山县| 鲁甸县| 名山县| 荔波县| 庄浪县| 田东县| 常州市| 木里| 措美县| 江门市| 赤城县| 贞丰县| 兴和县|