python類定義方法簡述

2021-09-12 06:12:55 字數 729 閱讀 4712

python 類定義的方法詳解

類定義的方法分為三種:

靜態方法:由@ staticmethod修飾

類方法:由@classmethod修飾

例項方法:不需要裝飾器

示例:class a(object):

def m1(self,n):#例項方法:第乙個引數必須為self

print(self)

@classmethod#類方法:第乙個引數必須為cls

def m2(cls,n):

print(cls)

@staticmethod#靜態方法

def m3(n):

pass

a=a()#建立例項物件a

print(a.m1(a,1))#1

a.m1(2)#呼叫例項物件並傳遞給self繫結,即self和a都指向例項物件(隱式傳遞)

a.m2(1)#同理,cls和a都指向類物件

a.m2(1)#2

a.m3(1)#3

#1處:a.m1()沒有繫結方法,必須顯示傳入例項方法

如果是a.m1(1),則報錯(typeerror: m1() missing 1 required positional argument: 『n』)缺少引數

#2處:a.m2(1)正確的原因是可以通過例項物件繫結到類物件上面

#3處:靜態方法,呼叫不需要傳遞類和例項,但是可以通過類和例項來呼叫。而在靜態方法引用類屬性時,必須通過類物件來引用

Python中定義類方法

方法也分例項方法和類方法,與屬性類似 在class中定義的全部是例項方法,例項方法第乙個引數 self 是例項本身。在class中定義類方法,需要這麼寫 class person object count 0 classmethod def how many cls return cls.count...

Python自定義類呼叫方法

自定義類呼叫方法 檔案名字小寫,類名字大寫,從檔名匯入類名就行,保證檔案名字和要呼叫的檔案在乙個資料夾。類儲存在類檔案裡面,在新檔案裡面呼叫類 比如from alien import alien 就是從檔案alien.py裡面匯入alien類 比如如下 from test import soluti...

python類的方法中定義函式

class a def run self def p print hello p a a a.run 輸出 hello注意類中方法和普通函式的區別,python類的方法必須要帶self引數,否則會報錯 takes 0 positional arguments but 1 was given,原因 p...