类调用方法 self参数

class TaSt:
  age = 88 # 类属性

  def __init__(self, name):
    self.name = name  # 实例属性

  def show(self, b):
    print(u'实例方法', b)

  @staticmethod
  def show2(a):
    print(u'静态方法',a)

  @classmethod
  def add(cls, a):  # 第一个参数必须是类本身
    print(u'类方法', a)


t1 = TaSt('55') # 实例化一个对象
t1.show('调用实例方法') # 调用实例方法
TaSt.show(t1, '类调用实例方法。传参是实例化后对象') # 类调用实例方法。传参是实例化后对象
t1.show2('实例调用静态方法') # 实例调用静态方法
TaSt.show2('类调用静态方法') # 类调用静态方法
t1.add('类方法实例化后调用') # 类方法实例化后调用
TaSt.add('类方法直接使用类名调用') # 类方法直接使用类名调用
print(t1.name, '调用实例属性') # 类调不了
print(t1.age, '调用lei属性')
print(TaSt.age, '调用lei属性')

输出为: 

实例方法 调用实例方法
实例方法 类调用实例方法。传参是实例化后对象
静态方法 实例调用静态方法
静态方法 类调用静态方法
类方法 类方法实例化后调用
类方法 类方法直接使用类名调用
55 调用实例属性
88 调用lei属性
88 调用lei属性

 

TaSt.show(t1, '类调用实例方法。传参是实例化后对象') 类直接调用普通的类方法的话,需要传入实例为第一个参数,也就是相当于传self,这里传了t1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值