python 类

'''
类(class):
用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。实例化:创建一个类的实例,类的具体对象。
    1.对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。方法:类中定义的函数。
    2.类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
    3.实例变量:在类的声明中,属性是用变量来表示的,这种变量就称为实例变量,实例变量就是一个用self修饰的变量
    4.self:表示的就是对象的本身
    5.类方法:
        5.1:实例方法:有self参数的方法称为实例方法,实例方法是可以调用的,类名不能调用
        5.2:类方法:通过装饰器生成@classmethod用于修饰类,可以被类和实例调用
        5.3:静态方法(也属于装饰器)∶既不属于类,也不属于实例,不具有任何意义,提供实例或者实例化方法的使用. ..
'''


class People:
    # 类的属性,也叫类变量
    name = "张三"
    sex = "男"
    age = "18"

    # 构造函数,也叫初始化函数。可以根据传进来的值,进行初始化类的属性
    def __init__(self, name="张三", sex="男", age="18", id="1"):
        self.name = name
        self.sex = sex
        self.age = age
        self.id = id  # 实例变量(这里相当于把直接定义了一个属性id)

    # 类的方法、行为,也叫实例方法(实例方法:顾名思义就是只有实例才能调用的方法)。
    def run(self):
        print(self.id)
        print(self.name, "学会了跑!")

        # 调用 修饰类:类方法 和 修饰类:静态方法
        # self.class_method()
        # self.static_method()

    @classmethod
    # 修饰类:类方法,允许被类对象、和类名和类之中的其他方法调用直接调用。    但是不允许调用类中的实例方法
    def class_method(cls):
        # cls.run()     #不允许直接调用类中的实例方法
        # print(cls.name)       #但是可以直接调用类的属性,cls相当于类名!!!!
        # print(People("李四", "男", "19", "2").run())     #可以通过创建一个类对象调用
        print("修饰类:类方法")

    @staticmethod
    # 修饰类:静态方法,允许被类对象、和类名和类之中的其他方法调用直接调用。    但是不允许调用类中的实例方法
    def static_method():
        print("修饰类:静态方法")


if __name__ == '__main__':
    # 使用People,根据构造函数__init__进行初始化
    People().run()  # 李四 学会了跑!

    print(People.name)  # 类名调用类变量(类属性):张三
    print(People("李四", "男", "19", "2").name)  # 类对象调用类变量(类属性):李四

    # 修饰类:类方法
    People.class_method()  # 类名调用
    People("李四", "男", "19", "2").class_method()  # 类对象调用

    # 修饰类:静态方法
    People.static_method()  # 类名调用
    People("李四", "男", "19", "2").static_method()  # 类对象调用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值