python基础:面向对象的简单介绍

一、面向对象编程
面向对象编程(英语:Object-oriented programming,缩写:OOP)是一种编程理念,这种编程理念更符合我们人的逻辑思维。使用面向对象编程可以提高我们的开发速度和代码的重用率。面向对象的开发非常适合大型程序开发,开发速度和后期维护都比过程化开发要好很多。
二、面向对象和面向过程理解
面向过程和面向对象都是用来解决问题的,只是解决问题的思路不同。
面向过程可以理解亲力亲为,面向对象可以理解为坐享其成。
例如炒菜
面向过程:
1)菜市场买菜,2)讨价还价,3)洗菜,4)切菜,5)炒菜,6)吃
面向对象:
1)点开APP,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))
    print(id(dog))

运行结果:

吃骨头...
睡觉了...
5108376
35640040


class Dog:    #创建类

    def eat(self):
        print('吃骨头...')
    def sleep(self):
        print('睡觉了...')

dog=Dog()
print(id(dog))
dog1=dog   # 将dog的地址赋值给了dog1对象
print(id(dog1))       
dog1.eat()
dog2=dog1 # 将dog1的地址赋值给了dog2对象
print(id(dog2))

运行结果:

32035616
32035616
吃骨头...
32035616

在这里插入图片描述
一个对象将其内存地址赋值给另一个对象,他们的内存地址相同

练习:
1.设计一个人类,人会吃,会睡觉
2.创建多个人

class People():
    def eat(self):
        print('饭点到了,该吃饭喽')
    def sleep(self):
        print('祝你睡个好觉')
people=People()
people.eat()
people.sleep()

运行结果:

饭点到了,该吃饭喽
祝你睡个好觉

五、self 变量
self : 哪个对象调用方法或者属性,self就是那个对象。
练习查看 self和 对象的内存id值是否相同。

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

class Person:
    def study(self):
        print('你们见过凌晨2点的北京吗')
        print('study中的id值',id(self))
    def eat(self):
        print('你们见过每天自助餐吗')

lk=Person()
lk.eat()
lk.study()
print('lk的id值',id(lk))

运行结果:

你们见过每天三顿自助餐吗
你们见过凌晨2点的北京
study中的id值 35574224
lk的id值 35574224

self和对象的内存地址是相同的

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44239541/article/details/86314919
今日推荐