python——面向对象(重要!重要!重要!)

阅读: 评论:0

python——面向对象(重要!重要!重要!)

python——面向对象(重要!重要!重要!)

一.面向对象编程

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

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

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

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

例如炒菜

面向过程:

1)菜市场买菜,2)讨价还价,3)洗菜,4)切菜,5)炒菜,6)吃

面向对象:

点开APP,2).下订单 3).吃

面向过程:

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

面向对象:

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

 

三.对象和类的相关概念

1.类

生活中的类和对象概念

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

例如人类狗类猫类...

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

行为:会跑,会叫

特征:黄毛,大眼睛

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

 

2.对象

对象:

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

3.类与对象的关系

  先有类后有对象

  类只有一个对象可以有多个

4.类的设计

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

类名:大驼峰命名法。

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

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

 

类和对象如何在内存中保存

类以及类中的方法在内存中只有一份,而根据类创建的每一个对象都在内存中需要存一份

 

 

 

 

四.定义一个类

 

class是关键字,表示类

 

创建对象,类名称后加括号即可

五 self 变量

self : 哪个对象调用方法或者属性,self就是那个变量。

练习查看 self和 对象的内存id值是否相同。

 

六.__init__()方法:

构造方法,通过类创建对象时,自动触发执行。

class Foo:def __init__(self, name):self.name = nameself.age = 18print(self.name, self.age)  # 赵赫 18person = Foo('赵赫')

练习:创建个Dog类,创建对象的时候传递参数

class Dog:def __init__(self, name, age):self.name = nameself.age = agedef introduce(self):print('{},今年{}岁'.format(self.name, self.age))dog1 = Dog('大黄', 5)  # 传递参数
dog1.introduce()   # 大黄,今年5岁

七.__str__()方法:

打印对象的名称时默认调用的是__str__()方法,此方法默认返回的是对象的内存地址。

我们可以重写 __str__() 方法打印对象保存的信息。

class Dog:def __init__(self, name, age):self.name = nameself.age = agedef __str__(self):msg = '{},今年{}岁'.format(self.name, self.age)return msgdog1 = Dog('大黄', 5)  # 传递参数
print(dog1)  # 大黄,今年5岁

综合练习:

计算圆的面积和周长:

from math import pi  # 调用 piclass Circle():def __init__(self, radius):self.radius = radius  # 定义半径def zhouchang(self):return 2 * pi * self.radiusdef area(self):return pi * self.radius * self.radiuscircle = Circle(3)  # 传递半径r=3ret = circle.zhouchang()  # 调用周长
print(ret)           # 18.84955592153876ret1 = circle.area()  # 调用面积
print(ret1)     # 28.274333882308138

 

 

本文发布于:2024-01-30 20:19:13,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170661715422576.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:面向对象   python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23