学习python的第n天

类方法

# 定义一个类
class Dog(object):

    # 私有类属性
    __tooth = 10

    def __init__(self):
        # 实例化对象的属性叫做 实例属性
        self.skin = "black"

    # # 普通方法
    # def get_tooth(self):
    #     pass

    # 类方法
    # 1.传递的参数不是实例化对象 而是类本身
    @classmethod
    def get_tooth(cls):
        # cls == Dog类
        print("里面的类:", cls)
        # 使用cls打印类属性
        print(cls.__tooth)
        # 不能使用类 调用实例属性
        # print(cls.skin)


if __name__ == '__main__':
    print("外面的类", Dog)
    # 调用类方法
    # Dog.get_tooth()

    # 实例化对象也可以调用类方法
    xiaohei = Dog()
    xiaohei.get_tooth()

静态方法

class Mao(object):
    # 静态方法
    @staticmethod
    def print_inio():
        print('这是一只毛发为白色,品种是英短长毛猫,来自英国')


if __name__ == '__main__':
    # 实列化对象 肉肉
    rr = Mao()
    # 使用实列化对象 调用静态方法
    rr.print_inio()
    # 使用类对象 调用静态方法
    Mao.print_inio()
'''
类方法,静态方法,实例方法比较
1.传递参数
类方法传递的是cls,类对象本身
静态方法没有传递任何参数
实例方法传递的是实例化对象
2.调用
类方法可以被 类对象和实例对象调用
静态方法可以被类对象和实例对象调用
实例方法可以被类对象和实例对象调用 但是在被类对象调用是 要传递实例对象作为参数
3、作用
类方法完成一些 有关类的操作
静态方法 完成的操作与类对象和实例对象无关
实例方法 完成实例化对象的相关操作(最多一种)
'''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值