python中 普通方法_python中普通方法classmethod和staticmethod的区别与用法
生活随笔
收集整理的這篇文章主要介紹了
python中 普通方法_python中普通方法classmethod和staticmethod的区别与用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
class Foo(object):
#實例方法,第一個承諾書必須是實例對象,一般習慣用self.
def ins_m(self):
print("是類{}的實例方法,只能被實例調用".format(Foo))
#類方法,第一個參數必須是類對象,一般習慣使用cls.使用@classmethod裝飾器裝飾
@classmethod
def cla_m(cls):
print('class method')
#j靜態方法,參數沒有要求,和類沒有綁定關系,就是一個普通的方法,
@staticmethod
def sta_m():
print('static method')
foo=Foo() #創建一個實例
#實例方法只能被實例調用 (如果把實例方法的參數去掉,可以被類調用,不能被實例調用!)
#類方法可以被類和實例調用
#靜態方法可以被類和實例調用 (不需要參數)
因此:當類中的某個方法是一個普通方法時,加一個staticmehod裝飾器,不需要添加實例參數。此方法可以用外部函數替換。
另外還有一個abstractmethod,抽象類,一般在基類中使用,只能被繼承,不能被實例化!
總結
以上是生活随笔為你收集整理的python中 普通方法_python中普通方法classmethod和staticmethod的区别与用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java入力项目无法设定到form_ht
- 下一篇: axis2 java.net.url_a