当前位置: 首页 > 后端技术 > Python

Python面向对象编程趣味解读(类与对象)

时间:2023-03-26 18:41:23 Python

一、面向对象入门考虑到现实生活中,我们的思维方式是把学生作为一个个体,由学生自我介绍。而不是我们刚写的代码,先介绍行为,再看介绍的是谁。如何用我们现实的思维方式在程序中表现出来呢?面向流程:按照业务逻辑自上而下编写代码。面向对象:将数据和函数绑定在一起进行封装,可以加快程序开发速度,减少重复代码的重写过程。面向过程的编程最容易被初学者接受。它往往使用很长的一段代码来实现指定的功能。开发流程的思路是将数据和函数按逻辑执行顺序组织在一起,数据和函数分开考虑。今天就来学习一种新的编程方式:面向对象编程(ObjectOrientedProgramming,OOP,面向对象编程)。面向对象编程的两个非常重要的概念:类和对象。对象是面向对象编程的核心。在使用对象的过程中,为了抽象地定义一组具有共同特征和行为的对象,又提出了一个新的概念——类。类相当于制造飞行器时的蓝图,用类??创建的飞行器相当于对象。二、班级与对象分析1、班级按喜好聚类,人以群分。具有相似内部状态和运动规律的实体(或统称为抽象)的集合。具有相同属性和行为的事物的总称。一个类是抽象的,在使用的时候,通常会找到这个类的具体存在。使用这个特定的存在,一个类可以找到多个对象。2.在现实世界中可以看到和触摸到特定对象的存在。可以直接使用。3、类与对象的关系小结:类是创建对象的模板。4.区分类别和对象奔驰智能类张三的奔驰智能对象水果类苹果类红苹果类红富士苹果类对象我嘴里吃了半个苹果5.类的构成Class(Class)由3部分组成组成类的名称:类名类的属性:一组数据类方法:允许对对象进行操作的方法(行为)例子:1)人性化设计,只关心3件事:事情name(类名):人(Person)属性:height(身高)、age(年龄)method(行为/功能):run(奔跑)、fight(战斗)2)dog的设计类名:dog(狗)属性:品种、毛色、性别、姓名、腿数方法(行为/功能):吠叫、奔跑、咬人、吃东西、摇尾巴6.类的抽象如何将日常生活中的事物抽象成程序中的类?具有相同(或相似)属性和行为的对象可以抽象为一个类。方法:一般名词都是类(名词抽取法)<1>坦克发射了3发炮弹,轰炸了2架飞机坦克-->可以抽象成类。外壳-->可以抽象为类。飞机-->可以抽象成类。<2>小明牵着狗小明带着热狗上车-->人类。巴士-->运输类别。热狗-->食品类别。狗-->狗类。<3>【思考一下】下图中有哪些类?解释:人的枪支、子弹、手榴弹、刀、箱子<4>【思考一下】下图中有哪些类别?说明:向日葵类名:xrk属性:颜色类别行为:阳光豌豆类名:wd属性:颜色,发型,血量行为:射击,摇头螺母:类名:jg属性:血量类型行为:格挡僵尸:类名:js属性:颜色、血量、类型、速度行为:走、跑、跳、吃、死3、项目1.定义一个类定义一个类,格式如下:类类名:方法列表演示:定义一个Cat类#定义类classCat:#方法defeat(self):print("Thecatiseatingfish....")defdrink(self):print("ThecatisdrinkingCoke...")描述:定义有两种类型的类:new-style和classic。上面的Cat是经典的,如果是Cat(object)就是new-style。类名的命名规则遵循“大驼峰”。2、创建对象在Python中,可以根据定义好的类一个一个地创建对象。创建对象的格式为:对象名=类名()创建对象演示:#定义一个类classCat:#attribute#methoddefeat(self):print("Thecatiseatingfish....")defdrink(self):print("ThecatisdrinkingCoke...")#根据类,创建对象tom=Cat()3.调用对象??类Cat的方法:#属性#方法defeat(self):print("catEatingfish....")defdrink(self):print("Thecatisdrinkingcoke...")#创建对象tom=Cat()tom.eat()#调用对象的eat方法tom.drink()运行结果如图:4.给对象类Cat添加属性:#Attribute#Methoddefeat(self):print("Thecatiseatingfish....")defdrink(self):print("Thecatisdrinkingcoke...")#创建了一个对象tom=Cat()#给对象tom添加了一个属性,叫做name,里面的值为"Tom"tom.name="Tom"#给对象Tom添加了一个属性叫age,里面的值为30tom.age=30#调用tom的方法tom.eat()tom.drink()print(tom.name)print(tom.age)运行结果,如图所示:5.通过方法获取对象属性。classCat:#属性#方法defeat(self):print("Thecatiseatingfish....")defdrink(self):print("ThecatisdrinkingCoke...")defintroduce(self):#print("名字是:%s,年龄是:%d"%(Tom的名字,Tom的年龄))print("名字是:%s,年龄是:%d"%(tom.name,tom.age))#创建了一个对象tom=Cat()#给对象tom添加了一个属性叫name,里面的值为"Tom"tom.name="Tom"tom.age=30#调用tom的方法tom.eat()tom.drink()#直接通过对象获取其属性print(tom.name)print(tom.age)print("-"*30)#调用tom的方法,在其方法中获取其属性tom的结果。introduce()如图:4.小结本文以生活中的基本现象为切入点,主要介绍Python的基本面向对象知识,并通过丰富的案例帮助大家更好地理解对象。最后用一只猫作为一个小项目,使用Python编程语言,方便大家增加对类和对象的理解,希望对大家的学习有所帮助。想深入了解Python网络爬虫和数据挖掘,可以去专业网站:http://pdcfighting.com/想深入了解Python网络爬虫和数据挖掘,可以去专业网站:http://pdcfighting.com/网址:http://pdcfighting.com/