导语:
本文主要介绍了关于python的类有几种方法的相关知识,包括Python中的类,以及python两个类之间调用方法这些编程知识,希望对大家有参考作用。
python类语法中有三种方法,实例方法,静态方法,类方法。
对于普通的实例方法,第一个参数需要为self,代表一个具体的实例本身。
如果你使用staticmethod,你可以忽略这个self,把这个方法当作一个普通函数使用。
对于classmethod来说,它的第一个参数不是self,而是cls,代表类本身。
例子:
# coding:utf-8
class Foo(object):
"""类三种方法语法形式"""
def instance_method(self):
print("是类{}的实例方法,只能被实例对象调用".format(Foo))
@staticmethod
def static_method():
print("是静态方法")
@classmethod
def class_method(cls):
print("是类方法")
foo = Foo()
foo.instance_method()
foo.static_method()
foo.class_method()
print('----------------')
Foo.static_method()
Foo.class_method()
运行结果如下:
是类<class '__main__.Foo'>的实例方法,只能被实例对象调用
是静态方法
是类方法
----------------
是静态方法
是类方法
说明:
实例方法只能被实例对象调用,静态方法(@staticmethod修饰的方法),类方法(@classmethod修饰的方法),可以被类或类的实例对象调用。
例如实例方法,第一个参数默认必须传一个实例对象,一般使用self。
静态方法,参数没有要求。
对于类方法,默认情况下必须将第一个参数传递给类。一般使用cls。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Python lambda 的速记用法01/14
- ♥ 追踪python ChainMap标准库的使用01/14
- ♥ python如何循环输入08/29
- ♥ python字符串出现乱码怎么办?12/27
- ♥ 如何在python中进行信号处理?11/06
- ♥ 如何重复运行python程序08/24
内容反馈