python基础08-面向对象

万物皆对象

面向对象 oop :封装的方法

由面向过程演变过来的,是早期的编程概念,面向对象优势多

        面向过程:一步步做的去做的

        面向对象:一个个对象去做的

面向过程,一步步的去实现 提前封装

面向对象,是交给谁去做,封装成一个方法

两个核心的概念 类 对象

        类 :共同特征或者行为的事物统称

        对象: 具体的内容 王家的狗 李家的狗

定义类

class 类名:
    属性
    功能
类名:驼峰命名法(每个单词的首字母大写)
属性:特征
功能:方法  def 方法名(self):

第一个面向对象的程序

设计几个猫

        属性:白色、4条腿、20kg,

        功能:会抓老鼠,会吃鱼的角色

class Cat:
    # 类属性
    cat_color='白色'
    cat_foot=4
    cat_weight=20
    # 类方法
    def eat(self):
        print('小猫爱吃鱼')
    def catch(self):
        print('小猫会抓老鼠')

要创建具体的猫 变量名=类() 实例化对象

具体的猫 调用什么功能 就有什么功能

tom=Cat()
tom.catch()
print(tom.cat_color)
print(tom.cat_foot)

对象.方法名 获得功能 对象.属性 能获得特征

再创建一只猫

jack=Cat()
jack.eat()

打印出创建的两只猫的相关信息

print(tom)
print(id(tom))
print(jack)
print(id(jack))

函数 一定会有一个self 谁吃鱼 格式化

def eat(self):
    print('{}小猫爱吃鱼'.format(self.name))
def catch(self):
    print('小猫会抓老鼠')

这个 self 代表的创建的对象 因为有这个self 能够区分调用的对象是谁

在类外面定义属性

默认创建的猫都是白色 20 4 当需要创建一直体重为10KG的猫,需要进行单独的改变

tom=Cat()
tom.name='TOM'
tom.cat_weight=10
tom.eat()
print(tom.cat_weight)

jack=Cat()
jack.name='JACK'
jack.eat()
print(jack.cat_weight)
print(jack.cat_color)

类外定义属性与类内定义属性的区别

        在类里面定义 固定死了

        在类外面定义 只针对某个创建对象的属性改变

对象.属性 获得属性的方法 1.对象.属性 2.类.属性

print(Cat.cat_color)

__init__初始化函数

作用 只要创建类对象的时候,就会执行这个init

class Cat:
    def init(self,color,foot,name):
        self.color=color
        self.foot=foot
        self.name=name
    def eat(self):
        print(f'{self.name},{self.color}小猫爱吃鱼')
        self.catch()
    def catch(self):
        print('小猫会抓老鼠')

实例化 创建一个对象

tom1=Cat('大红色',4,'小翠花')
tom1.eat()

ja=Cat('黑色',3,'小玉玉')
ja.eat()

str 对象的描述信息

class Cat:
    def init(self,color,foot,name):
        self.color=color
        self.foot=foot
        self.name=name

    def eat(self):
        print(f'{self.name},{self.color}小猫爱吃鱼')

    def str(self):
        return f'这是一个对象的描述信息:{self.name}小猫爱吃鱼的故事'
c=Cat('红色',4,'小翠花')
print(c)

del 对象被销前会被调用的函数

class Cat:
    def init(self, color, foot, name):
        self.color = color
        self.foot = foot
        self.name = name
    def eat(self):
        print(f'{self.name},{self.color}小猫爱吃鱼')

    def __del__(self):
        print(f'{self.name}小猫走了')
        
c=Cat('大红色',4,'笑笑')
print('测试数据')

怎么创建类 属性 方法

        方法里面一定会加上self self代表创建的对象 模板

        具体的创建对象 实例化对象 对象名=类()

        属性 方法 对象名.属性 对象名.方法()

init函数

        作用:创建对象的时候就执行init函数

str函数

        作用:返回对象的描述信息

del函数

        作用:销毁对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值