类方法、实例方法和静态方法

类方法、实例方法和静态方法

实例方法、类方法、静态方法三种方法在内存中都属于类,区别在于调用方式不同

实例方法

定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法);

调用:只能由实例对象调用。

实例对象可以调用实例方法、类方法和静态方法

类方法

定义:使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法
(不能传实例的属性和方法);

调用:实例对象和类对象都可以调用。

类对象只能调用类方法和静态方法

静态方法

定义:使用装饰器@staticmethod。参数随意,没有“self”和“cls”参数,但是方法体中不能使用类或实例的任何属性和方法;

调用:实例对象和类对象都可以调用。
class foo():
	def __init__(self, name):
	"""构造函数,实例化类时自动调用"""
	self.name = name
	
def ord_func(self):
	"""定义实例方法,至少有一个self参数"""
	print('实例方法')
	
@classmethod
def class_func(cls):
	"""定义类方法,至少有一个cls对象"""
	print('类方法')
	
@staticmethod
def static_fun():
	"""定义静态方法,无默认参数"""
	print('静态方法')
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值