活动地址:CSDN21天学习挑战赛
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…
…
CSDN21天学习挑战赛——day7 高级应用——面向对象编程
前面我们详细地认识到python的一些基本知识:数据类型、基础语法等。今天我们来看一下python中关于面向对象的编程方法的详细描述。
1.1 面向过程与面向对象的基本概念
我们平时在开发过程中使用的方法都属于面向过程的编程方法,其实,面向过程的编程方法就是将某些独立代码封装成一个一个函数,然后主函数内不断调用写好的不同的函数。它的特点是:比较注重过程与步骤,没有注意“分工”;如果需求较大,则会导致代码复杂;不易开发,开发难度大。
而面向对象的编程(OOP)方法,则使用在对象内封装多个方法,也类似于函数。特点:首先确定方法;根据不同的对象的使用范围,在不同的对象内封装不同的方法;在最后主函数内,顺序地让不同的对象调用不同的方法。
面向对象的方法,更适用复杂的项目开发、提供固定的套路;这是建立在面向过程的基础之上的。
1.2 类与对象
前面我们提到了面向对象编程方法,今天我们来认识面向对象编程方法中核心的两个概念——类与对象:
我们先来认识什么是类?类就是一群拥有相同属性或方法的事物的称呼,但是它实际并不存在,是虚构的。就好像图纸上的东西,虽然看得到,但是却没有出现在现实中,它是负责创建对象的,类名采用大驼峰命名法,单词与单词之间没有下划线存在,单词第一个首字母大写。
对象的概念可以根据类来进行定义:是由类创建出来的一个实体,可以使用。现实的程序开发,应先有类,再有对象。所以说,类中定义了什么属性和方法,那么对象中就是什么属性和方法;不同对象之间,属性可能各不相同。这里说一句,类只能有一个,对象可以有很多个。
1.3 面向对象的基础语法
在高级语言中,面向对象的编程方法是必须学会的一种方法,它在某些时候能使得你的代码开发变得更加简洁不复杂。所以,python中的对象无处不在,平时大量使用的变量、数据、函数都属于对象,这节我们来学习一下面向对象的基础语法:
我们平时需要使用某些方法来简化一些计算时,可能会出现记不住方法名称或记不住方法的使用格式了,下面提供2种常用的方法来查看标识符/数据可使用的方法列表:
1)在标识符/数据后加“.”,然后按下tab键,python就能提示出该对象所能使用的方法列表。
2)使用dir+标识符/数据,就可以查看对象中包含的所有属性及方法。
__方法名__是python中内置的属性/方法
常用内置方法:
(1)new:创建对象时自动调用。
(2)init:对象被初始化时自动调用。
(3)del:对象被从内存中删除时,自动调用。
(4)str:print函数输出时使用,返回对象的描述信息。
1.4 定义简单的类
一个类可以封装多种方法,通过这个类创建出来的对象,则可以调用这些方法了,下面介绍定义一个简单的类(只有方法)的格式:
class 类名: ###类名采用大驼峰命名规则。
def 方法1(self,参数列表): ###这里的方法里的第一个参数一定是self。
pass
def 方法2(self,参数列表):
pass
创建对象时,可以直接使用对象变量名称 = 类名()来创建变量,可以看下面的一个例子:
class fish:
def runing(self):
print("鱼开始游动")
def stop(self):
print("鱼开始休息,停了下来。")
def __del__(self): ###只有当删除了对象fishs时,才会执行__del__方法。
print("鱼死了")
fishs = fish()
fishs.runing()
fishs.stop()
运行结果:
鱼开始游动
鱼开始休息,停了下来。