python基础 面向对象

一   面向对象编程

面向对象编程(英语:Object-oriented programming,缩写:OOP)是一种编程理念,这种编程理念更符合我们人的逻辑思维。使用面向对象编程可以提高我们的开发速度和代码的重用率。面向对象的开发非常适合大型程序开发,开发速度和后期维护都比过程化开发要好很多。面向对象编程(英语:Object-oriented programming,缩写:OOP)是一种编程理念,这种编程理念更符合我们人的逻辑思维。使用面向对象编程可以提高我们的开发速度和代码的重用率。面向对象的开发非常适合大型程序开发,开发速度和后期维护都比过程化开发要好很多。面向对象编程(英语:Object-oriented programming,缩写:OOP)是一种编程理念,这种编程理念更符合我们人的逻辑思维。使用面向对象编程可以提高我们的开发速度和代码的重用率。面向对象的开发非常适合大型程序开发,开发速度和后期维护都比过程化开发要好很多。

二   面向对象和全面过程理解

向过程和面向对象都是用来解决问题的,只是解决问题的思路不同。

面向过程可以理解亲力亲为,面向对象可以理解为坐享其成。

例如炒菜

面向过程: 1)菜市场买菜,2)讨价还价,3)洗菜,4)切菜,5)炒菜,6)吃

面向对象:  1 点外卖  2 送达   3 吃

面向过程:

在生活中就是亲力亲为,在程序中面向过程编程就是函数之间的一个相互调用。以函数为基本结构使用。

面向对象在生活中是坐享其成,别人做好的东西为我所用。在程序中面向对象编程是以对象为基本结构使用。

三  对象和类的概念

1.类

生活中的类和对象概念

类:是对一群具有相同特征或者行为的事物的统称,是抽象的,不能直接使用。

例如人类狗类猫类...

描述一个类通过行为和特征

行为:会跑,会叫

特征:黄毛,大眼睛

类可以理解为一种事物的模板

2  对象

是由类创造出来的具体实体,可以直接使用的。例如 大黄,小白。

3  类和对象的关系

(1)现有类后又对象

(2)类只有一个,对象可以有好多个

4类的设计

在程序中设计一个类,通常需要满足一下3个要素:

类名:大驼峰命名法。

属性:描述这类事物的特征。

方法:描述这类事物的具体行为

四 定义一个简单的类

创建类

class Dog:
    def eat(self):
        print('吃骨头')

    def sleep(self):
        print('要睡觉')

创建对象

格式  对象名称 = 类名()

dog = Dog()
dog.eat()
dog.sleep()
print(id(dog))

dog1 = Dog()
dog.sleep()
dog1.eat()
dog.sleep()
print(id(dog1))

吃骨头
要睡觉
18216832
要睡觉
吃骨头
要睡觉
18218680

self 变量

self 变量 哪个对象调用方法或者属性 self就是那个变量 self的变量名称是可以修改的,但是不建议大家修改

class Person:
    def study(self):
        print('你们见过凌晨3点中的北京吗')
        print('study中的地址',id(self))
    def eat(self):
        print('学习每天三顿自助大餐')
        print('eat中的地址',id(self))

mf = Person()
mf.eat()
mf.study()
print('mf的地址',id(mf))

"""
学习每天三顿自助大餐
eat中的地址 18673960
你们见过凌晨3点中的北京吗
study中的地址 18673960
mf的地址 18673960
"""

__init__方法

在对象创建的时候自动会调用,可以利用这个方法做一个初始化操作

如  初始化变量


class Cat:
    def __init__(self,name):  #创建一个对象 __int__执行一次,并不是只执行一次
        print('init在创建对象的时候执行')
        self.name = name      #给对象添加一个name属性
    

    def eat(self):
        print(self.name,'猫吃老鼠')
        print(self.name)


blue_cat = Cat('蓝猫')
blue_cat.eat()

black_cat = Cat('黑猫')
black_cat.eat()

"""
init在创建对象的时候执行
蓝猫 猫吃老鼠
蓝猫
init在创建对象的时候执行
黑猫 猫吃老鼠
黑猫
"""

__str__方法

class Cat:
    def __init__(self,name,age):
        print('init在创建对象的时候执行')
        self.name = name #给对象添加一个name属性
        self.age = age
        

    def eat(self):
        print('猫吃老鼠')
        print(self.name)


    def __str__(self):
        msg = 'name属性值{}age属性值{}'.fomart(self.name,self.age)
        return msg

cat = Cat('蓝猫',6)
cat.eat()
print(cat)

"""
init在创建对象的时候执行
猫吃老鼠
蓝猫
name属性的值是蓝猫 age的属性值是6
"""

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值