类属性,类方法,静态方法

# 创建类的语法
class Student:  # Student为类的名称(类名)有一个或多个单词组成,每个单词的首字母大写,其余小写
    pass

# 类的组成
class Student:
    native_place = '甘肃'  # 直接写在类里的变量称为类属性

    def __init__(self, name, age):
        self.name = name  # self.name称为实例属性,将局部变量name的值赋给了实例属性
        self.age = age

    def eat(self):  # 实例方法  # 在类之外定义的称为函数,在类之内定义的称为方法
        print('学生在吃饭...')

    @staticmethod  # 静态方法
    def method():  # 不能存在self
        print('使用了@staticmethod进行修饰,所以是静态方法')

    @classmethod  # 类方法
    def cm(cls):
        print('使用了@classmethod进行修饰,因此是类方法')

类属性

  • 类中方法外的变量称为类属性,被该类的所有对象所共享

  • 类属性的使用方式

print(Student.native_place)
stu1 = Student('张三', 20)
stu2 = Student('李四', 30)
print(stu1.native_place, stu2.native_place)  # 表明类属性被该类所有对象所共享
Student.native_place = '北京'
print(stu1.native_place, stu2.native_place)
--------------------------------------------------
甘肃
甘肃 甘肃
北京 北京

类方法

  • 使用@classmethod修饰的方法,使用类名直接访问的方法

  • 类方法的使用方式

    Student.cm()  # 调用的时候不需要print函数
    --------------------------------------------------
    使用了@classmethod进行修饰,因此是类方法
    

静态方法

  • 使用@staticmethod修饰的方法,使用类名直接访问的方法

  • 静态方法的使用方式

    Student.method()
    --------------------------------------------------
    使用了@staticmethod进行修饰,所以是静态方法
    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蛰伏GR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值