python面向对象基础知识笔记

python面向对象基础知识笔记

ID:22682954

大小:335.19 KB

页数:37页

发布时间:2023-10-18 19:36:01

资源描述:

面向对象与面向过程·面向过程:根据业务逻辑从上到下写代码。·面向对象:将变量与函数绑定到一起,分类进行封装,每个程序只要负责分配给自己的分类,这样能够更快速的开发程序,减少了重复代码。面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程的思路是将数据与函数按照执行的逻辑顺序组织在一起,数据与函数分开考虑,面向过程基本是由函数组成的。01.面向过程编程面向过程编程的关注点在于怎么做·把完成某一个需求的所有步骤从头到尾逐步实现·根据开发需求,将某些功能独立的代码封装成一个又一个函数·最后完成的代码,就是顺序地调用不同|的函数特点:·注重步骤与过程,不注重职责分工·如果需求复杂,代码会变得很复杂·开发复杂项目,没有固定的套路,开发难度很大!

1·02.面向对象基本概念面向对象编程(ObjectOrientedProgramming,OOP,面向对象程序设计)和面相过程编程,是两种不同的编程方式。面向对象编程的关注点在于谁来做相比较函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法·在完成某一个需求前,首先确定职责——要做的事情(方法)·根据职责确定不同的对象,在对象内部封装不同的方法(多个)·最后完成的代码,就是顺序地调用不同对象的相应方|法。特点:·注重对象和职责,不同的对象承担不同的职责。

2·更加适合应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路。·需要在面向过程基础上,再学习一些面向对象的语法。

3类和对象类和对象是面向对象编程的两个核心概念。类类是对一群具有相同特征或者行为 的事物的一个统称,是抽象的,不能直接使用·特征其实就是一个变量,在类里我们称之为属性。·行为其实就是一个函数,在类里我们称之为方法。·类其实就是由 属性 和 方法 组成的一个抽象概念。类就相当于制造飞机时的图纸,是一个模板。这个模板只规定了飞机的某些特征(例如大小,颜色,型号|等等)和行为(例如起飞,降落,飞行等等),它并不是一个具体的飞机,而是对飞机的一个抽象概念。它出现的目的,是为了让我们的创建飞机对象。对象

4对象是由类创建出来的一个具体存在,可以直接使用。由哪一个类创建出来的对象,就拥有在哪一个类中定义的属性和方法。 对象 就相当于用图纸制造的飞机。在开发中,应该先有类,在类里定义好属性和行为,再根据类来创建对象。类和对象的关系·类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象。·使用同一个类,能够创建出很多对象。·类中定义了什么属性和方法,对象中就有什么属性和方法。·不同对象对应的|属性值也会不同。例如:定义了一个狗类,这个狗类有以下属性:·品种·颜色·性别·名字现在根据这个类创建出了两条狗,这两条狗分别是 哈士奇、灰色、母、二哈 和 中华田园犬、黄色、公、旺财

5。我们发现,这两条狗都具有品种、颜色、性别和名字这些属性,但是每条狗对应的属性值却不一样。类的设计在使用面相对象开发前,应该首先分析需求,确定一下,程序中需要包含哪些类!在程序开发中,要设计一个类,通常需要满足一下三个要素:1.类名 这类事物的名字,安照大驼峰命名法(每个单词的首字母大写)起名。2.属性 这类事物具有什么样的特征。3.方法 这类事物具|有什么样的行为。定义类名名词提炼法:分析整个业务流程,出现的名词,通常就是找到的类。属性和方法的确定·对对象的特征描述,可以定义成属性·对象具有的行为(动词)可以定义成方法

6面向对象基本语法在Python中,对象几乎是无处不在的,我们可以使用dir内置函数来查看这个对象里的方法。定义简单的类(只包含方法)面向对象是更大的封装,在一个类中封装多个方法,这样通过这个类创建出来的对象,就可以直接调用这些方法了!定义类在Python中要定义一个只包含方法的类,语法格式如下:class类名:def方法1(self,参数列表):passdef|方法2(self,参数列表):pass1.方法的定义格式和之前学习过的函数一样2.方法里的第一个参数必须是self,大家暂时先记住,稍后介绍self.3.类名要遵守大驼峰命名法。

7创建实例对象当一个类定义完成之后,要使用这个类来创建对象,语法格式如下:对象变量名=类名()第一个面向对象代码需求·小猫爱吃鱼,小猫要喝水分析·定义一个猫类Cat·定义两个方法eat和drink·按照需求——不需要定义属性classCat:"""这是个猫类"""defeat(self):print("小猫在吃东西")

8defdrink(self):pr|int("小猫在喝水")tom=Cat()#创建了一个Cat对象tom.eat()tom.drink()hello_kitty=Cat()#又创建了一个新的Cat对象hello_kitty.eat()hello_kitty.drink()思考:tom 和 hello_kitty 是同一个对象吗?self的使用给对象添加属性python支持动态属性,当一个对象创建好了以后,直接使用 对象.属性名=属性值 就可以很方便的给对象添加一个属性。tom=Cat()

9tom.name='Tom'#可以直接给tom对象添加一个name属性这种方|法很方便,但是,不建议使用这种方式给对象添加属性。self的概念哪个对象调用了方法,方法里的self指的就是谁。通过 self.属性名 可以访问到这个对象的属性;通过 self.方法名() 可以调用这个对象的方法。classCat:defeat(self):print("%s爱吃鱼"%self.name)tom=Cat()tom.name='Tom'#给tom对象添加了一个name属性tom.eat()#Tom爱吃鱼lazy_cat=Cat()lazy_cat.name="大懒猫"

10lazy_cat.eat()#大懒猫爱吃鱼直接给|对象添加属性的缺点上述代码中,我们是先创建对象,然后再给对象添加 name 属性,但是这样做会有问题。tom=Cat()tom.eat()tom.anme="

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1、本文档共37页,下载后即可获取全部内容。
2、此文档《python面向对象基础知识笔记》由用户(158****5147)提供并上传付费之前 请先通过免费阅读内容等途径辨别内容,本站所有文档下载所得的收益全部归上传人(卖家)所有:如有侵权或不适当内容,请进行举报或申诉。
3、所有的PPT和DOC文档都被视为“模板”允许上传人保留音节日灵结构的情况下删减部份的内容,下裁前须认直查看,确认无误后再购买。
4、欧宝真人·(中国)科技有限公司网仅提供信息存储空间,仅对用户上传内容的表现方式做保护外理,无法对各卖家所售文档的直实性,完整性,准确性以及专业性等问题提供审核和保证,请谨慎购买。
5、本站文档的总页数,文档格式和文档大小以系统显示为准(内容中显示页数不一定正确),网站客服只以系统显示页数,文件格式,文档大小作为仲裁依据。

文档提供

发布者:158****5147

上传时间:2023-10-16 16:26:13

认证主体:齐**(个人认证)

IP归属:湖北省 武汉

相关标签

文档提供

发布者:158****5147

上传时间:2023-10-16 16:26:13

认证主体:齐**(个人认证)

IP归属:湖北省 武汉

相关标签