类和对象

类与对象

类是多个类似事物组成的群体的统称,能够帮助我们快速理解和判断事物的性质。

不同的数据类型属于不同的类。

python中一切皆对象。类就是统称,一类物品的统称。实例就是一个具体存在特指的一个事物。相似的实例就可以归到同一类中。

类的创建

在这里插入图片描述
类中所有实例都存在使其区别于其他类的共同点,共同点可以细分为属性(what),描述事物性质和方法(how),描述事物能做什么。
Python中,每个类都有自己的独特的属性attribute和方法method,是这个类的所有实例都共享的。换言之,每个实例都可以调用类中所有的属性和方法。在Python中,各个类的属性与方法需要我们自行创建

类的组成

class Student():
    profession = '学生' # 类属性:直接写在类里的变量,称为类属性
    
    # 初始化方法
    def __init__(self,name,age):
        self.name=name  # 实体属性,进行了赋值操作,将局部变量的值赋给实体属性
        self.age=age
    
    # 实例方法
    def study(self):
        print('我周一至周五上课。')
        
    # 静态方法,使用类名可直接访问,调用直接用Student.method()
    @staticmethond
    def method(): # 静态方法中不写self参数
        print('使用了staticmethod进行修饰,所以我是静态方法')
        
    # 类方法,使用类名就可以访问,调用直接用Student.cm()
    @classmethod
    def cm(cls): # 需传入cls参数
        print('使用了classmethod进行修饰,所以我是静态方法')

类的实例化

在这里插入图片描述在这里插入图片描述

class Student():
    profession = '学生' # 类属性:直接写在类里的变量,称为类属性
    
    # 初始化方法
    def __init__(self,name,age):
        self.name=name  # 实体属性,进行了赋值操作,将局部变量的值赋给实体属性
        self.age=age
    
    # 实例方法
    def study(self):
        print('%s周一至周五上课。'%self.name)
# 创建Student类的对象
stu1=Student('小明',26)
stu1.study()
print(stu1.name) # 调用类属性: 实例名.属性名
print(stu1.age)  # 调用类方法: 实例名.方法名()
print(stu1.profession)
小明周一至周五上课。
小明
26
学生

动态绑定属性和方法

python是动态语言,在创建对象后,可以动态地绑定属性和方法。

class Student():
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def eat(self):
        print('%s今天吃肉'%self.name)
stu1=Student('小小',15)
stu2=Student('大大',20)
stu2.gender='female'  # 动态绑定属性
print(stu2.gender)
stu1.eat()
stu2.eat()
female
小小今天吃肉
大大今天吃肉
def change(): # 定义在类之外的,是函数
    print('不,今天吃蔬菜')
stu2.change=change # 动态绑定方法
stu2.change() 
不,今天吃蔬菜
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值