Python的類方法 靜態方法和例項化方法

2021-08-11 12:04:39 字數 1229 閱讀 5773

#-*- coding:utf-8 -*-

class

a:def

__init__

(self,name):

self.name=name

@staticmethod

defstaticfun

(): print("this is static function")

@classmethod

defclassfun

(cls):

print("this is class function")

defentityfun

(self):

print("this is a entity function")

aa=a("aa")

aa.staticfun()

a.staticfun()

a.classfun()

aa.classfun()

aa.entityfun()

#會報錯,只能用例項化物件來呼叫

a.entityfun()

實驗結果:

/usr/bin/python3.5 /home/liusenubuntu/pycharmprojects/sentence/pythonlearn/staticfunction.py

this

is static function

this

is static function

this

isclass

function

this

isclass

function

this

is a entity function

traceback (most recent call last):

file "/home/liusenubuntu/pycharmprojects/sentence/pythonlearn/staticfunction.py", line 19, in

a.entityfun()

typeerror: entityfun() missing 1 required positional argument: 'self'

process finished with exit code 1

其中cls是類變數,self是例項化物件,例項化方法只能用例項化物件呼叫,也可以傳入例項化物件引數。

python 類的靜態方法和類方法

1.靜態方法 使用 staticmethod修飾 不需要傳入引數,類和類的例項物件都可以呼叫 沒有引數的方法,如果未宣告靜態方法的話,例項物件呼叫將會出錯 1class a staticmethod 宣告靜態方法 def printa 無需引數 print a a.printa 類名直接呼叫 a a...

python 靜態方法和類方法

python 靜態方法和類方法 class testclassmethod object method method hoho def init self self.name leon def test1 self print test1 print self classmethod def tes...

Python例項方法 靜態方法和類方法

和類屬性可細分為類屬性和例項屬性一樣,類中的方法也可以有更細緻的劃分,具體可分為類方法 例項方法和靜態方法,本節將詳細介紹這 3 種類方法的特點和用法。通常情況下,在類中定義的方法預設都是例項方法。前面章節中,我們已經定義了不只乙個例項方法。不僅如此,類的構造方法理論上也屬於例項方法,只不過它比較特...