国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python OOP類中的幾種函數(shù)或方法總結(jié)

2020-02-16 01:19:00
字體:
供稿:網(wǎng)友

概述

實例方法

使用實例調(diào)用時,默認傳遞實例本身到實例方法的第一個參數(shù)self 使用類調(diào)用時,必須傳遞一個實例對象到實例方法的第一個參數(shù)

靜態(tài)方法

使用實例調(diào)用和類調(diào)用效果相同;

類方法

裝飾器版:

使用實例調(diào)用和類調(diào)用效果相同;

classmethod(function)版:

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

普通函數(shù)

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

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

代碼與運行結(jié)果

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

輸出

實例方法 通過實例調(diào)用
實例方法 通過類調(diào)用
類方法(裝飾器版) 通過實例調(diào)用
類方法(裝飾器版) 通過類調(diào)用
類方法(普通函數(shù)通過內(nèi)置函數(shù)classmethond(function)轉(zhuǎn)換版) <main.A object at 0x7f9b9b0486a0> 通過實例調(diào)用
類方法(普通函數(shù)通過內(nèi)置函數(shù)classmethond(function)轉(zhuǎn)換版) 通過類調(diào)用
靜態(tài)方法 通過實例調(diào)用
靜態(tài)方法 通過類調(diào)用
普通函數(shù) <main.A object at 0x7f9b9b0486a0> 通過實例調(diào)用
普通函數(shù) 通過類調(diào)用

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林站長站的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 江口县| 上饶县| 聂拉木县| 内江市| 丰宁| 新津县| 承德县| 黔南| 贺州市| 崇文区| 沛县| 通州区| 抚顺市| 左云县| 惠水县| 新建县| 饶阳县| 安图县| 玉环县| 新竹县| 安乡县| 闻喜县| 天峻县| 嘉善县| 兴业县| 沿河| 秭归县| 丹棱县| 双牌县| 牟定县| 云南省| 鹤壁市| 宜章县| 新野县| 湾仔区| 大方县| 甘德县| 永泰县| 韶关市| 东港市| 无为县|