python面向对象概念及练习题.pdf
《python面向对象概念及练习题.pdf》由会员分享,可在线阅读,更多相关《python面向对象概念及练习题.pdf(31页珍藏版)》请在三一文库上搜索。
1、. . 面向对象及练习题 1. 面向对象 1.1 面向对象概念 面向对象是一种编程思想,是对现实世界中的事物进行抽象的方式。应 用到代码编程设计中,是一种建立现实世界事物模型的方式。 1.2 面向对象和面向过程区别 面向过程关注的是完成工作的步骤, 面向对象关注的是 谁能完成工作。 面向对象是在完成工作的时候关注哪些个体能够完成对应的工作,找到对应 的个体即可完成对应任务。 2. 类 2.1 类的概念 类是一系列事物的统称,同类事物必定具有相同的特征。日常事物的特征根 据特性分为状态和行为,对应到类中是变量和方法。 特征分类: 状态变量(成员变量) 行为方法(成员方法) 统称: 类的成员 2.
2、2 类定义语法格式 class类名: pass . . 说明: pass 是空语句,不具有任何意义,仅为了保持程序结构完整性 2.3 类名的命名规则 类名命名规范:满足大驼峰命名规则 3. 对象 3.1 对象的概念 对象是类的具体表现形式, 是实际存在的个体。 (类是一系列事物的统称) 3.2 创建对象语法格式 对象名 = 类名() 3.3 注意事项 对象的创建不限制数量,一个类可以创建任意个数的对象 4. 成员变量 4.1 成员变量的概念 成员变量用于描述对象的固有状态或属性。 . . 4.2 定义成员变量语法格式(公有属性/公有变量) class 类名: def _init_(self):
3、 self.变量名 1 = 值 1 self.变量名 2 = None 4.3 成员变量定义语法格式(独有属性/独有变量) 对象名 . 变量名 = 值 4.4 公有变量与独有变量的区别 公有变量在 _init_ 方法中声明,每个对象都具有该变量 独有变量在创建对象后声明,只有当前对象具有此变量 定义对象的独有变量时,如果独有变量名与公有变量名相同,视为 修改公有变量的值;如果独有变量名与公有变量名不相同,视为定 义新的独有属性 None含义是为空,表示没有具体的数据 . . 4.5 变量的调用格式 取值:对象名 . 变量名 赋值:对象名 . 变量名 = 值 5. 成员方法 5.1 成员方法概念
4、 成员方法用于描述对象的固有行为 5.2 定义成员方法语法格式 格式一(无参方法): class 类名: def 方法名 (self): 方法体 格式二(有参方法) class 类名: def 方法名 (self,形参 1,形参 2,): 方法体 . . 5.3 调用成员方法语法格式 格式一(调用无参方法) : 对象名 . 方法名() 格式二(调用有参方法) : 对象名 . 方法名(实参 1,实参 2,) 6. _init_ 方法 6.1_init_ 方法的作用 _init_ 方法,也称为构造方法,创建对象时为对象初始化成员变量 6.2 定义_init_方法语法格式 格式一: def _ini
5、t_(self): self.变量名 1 = 值 1 . . 格式二: def _init_(self,形参 1,形参 2,): self._ 属性名 1 = 形参 1 self._ 属性名 2 = 形参 2 6.3_init_ 方法调用和执行 _init_ 方法在 创建对象 时被运行,无需手工调用即可执行 _init_ 方法中如果 有形参 ,在创建对象时需要传递对应的实参 6.4 魔术方法 魔术方法 是在类中声明、 定义的方法, 执行时无需手工调用, 自动执行。 7. _str_方法 7.1_str_ 方法的作用 _str_ 方法是在使用 print函数打印输出对象到屏幕时被调用的方法, 用
6、于返回对象的规范化字符串表现形式 7.2 定义_str_方法语法格式 def _str_(self): return 打印对象是显示的信息 . . 8. 成员方法调用类成员 8.1 成员方法中调用成员变量语法格式 self.变量名 8.2 成员方法中调用成员方法语法格式 self.方法名 ( 实参 1,实参 2,) . . 8.3 self self仅出现在成员方法中,指代执行该方法的对象。 9.封装 9.1 封装的作用 封装操作可以对受访问保护的成员进行功能开放的控制,达到保护数据 不被非法访问的目的 9.2 定义私有变量语法格式 self._属性名 = 值 9.3 定义私有方法语法格式 d
7、ef _方法名 (self ,形参 1,形参 2,): . . 方法体 9.4 标准封装语法格式 变量私有化格式: self._属性名 = 值 提供公共的访问器格式: def get_属性名 (self): return self._属性名 提供公共的修改器格式: def set_ 属性名 (self,属性名 ): self._ 属性名 = 属性名 10. 类变量 10.1 类变量的概念 类变量是定义在类中,不属于某个具体对象的特征,被所有对象共同使 用的特征 . . 10.2 定义类变量语法格式 class 类名: 变量名 = 值 10.3 调用类变量语法格式 赋值格式: 类名. 类变量名
8、= 值 取值格式: 类名. 类变量名( 推荐) 对象名 . 类变量名(不推荐) 10.4 注意事项 类变量推荐使用类名取值访问,也可以使用对象名取值访问 类变量 只能通过类名修改;使用对象名调用类变量修改类变量的值 时会创建新的对象独有变量;如果此时对象具有同名对象变量,则 修改对应的变量值 类变量可以私有化 11. 类方法 11.1 类方法的概念 类方法是定义在类中,不属于某个具体对象的行为,被所有对象共同使 用的行为 11.2 定义类方法基本语法 class 类名: classmethod def 方法名 (cls , 形参 1,形参 2,): 方法体 . . 11.3 调用类方法语法格式
9、 类名. 类方法名 ( 实参 1,实参 2,) (推荐) 对象名 . 类方法名 (实参 1,实参 2,) (不推荐) 11.4 注意事项 类方法中 不允许 使用实例变量和实例方法 类方法中 允许使用类变量和类方法,通过第一个参数cls 进行 实例方法中 允许使用类变量和类方法 12. 静态方法 12.1 定义静态方法语法格式 class 类名: staticmethod def 方法名 ( 形参 1, 形参 2,): 方法体 . . 12.2 调用静态方法语法格式 类名. 静态方法名 (实参 1,实参 2,) (推荐) 对象名 . 静态方法名 ( 实参 1,实参 2,) (不推荐) 12.3
10、各种方法定义规则 只访问成员变量的方法,定义成实例方法 只访问类变量的方法,定义类方法 既访问成员变量,也访问类变量的方法,定义成实例方法 既不访问成员变量,也不访问类变量,定义成静态方法 . . 练习题 1 概念理解 要求: 1.如何理解面向对象编程 (OOP) 2.什么是类,什么是对象 提示: 1.类和对象有两个层面的含义: 类是对一类具体的事物的抽象的概括,具有 相似内部状态和运动规律的实体的集合,具有相同属性和行为事物的统称,是抽 象的;对象是一个具体的事物, 在现实世界中可以是看得见摸得着的,可以直接 使用的 2.拥有相同 (或者类似 )属性和行为的对象都可以抽像出一个类 练习题 2
11、 定义类、创建对象 要求: 1.python 中如何定义一个类 class 类名: 方法. classTest: def test(self): pass 2.类(class)由哪三个部分构成 类的名称、类的属性、类的方法 3.类名的命名规则是什么 大驼峰命名法 4.python 中如何通过类创建对象,请用代码进行说明 # 创建对象 # 对象名 = 类名() . . classHuman: # 定义类 pass man = Human() # 创建对象 5.如何在类中定义一个方法,请用代码进行说明 classHuman: # 定义 run 方法 def run(self): print(“正在
12、奔跑 “) 6.定义一个 People 类,使用 People 类,创建一个 mayun 对象后,添加 company 属性,值是 “阿里巴巴 “;创建一个 wangjianling 对象,添加 company 属性,值是 “万达集团 “ classPeople : pass mayun = People() # 创建 mayun对象 pany = “阿里巴巴 “# 为对象添加属性 wangjianlin = People () # 创建 wangjianlin 对象 pany= “万达集团 “ 7.定义一个水果类,然后通过水果类,创建苹果对象、橘子对象、西瓜对象 并分别添加上颜色属性 cla
13、ssFruit: pass apple = Fruit() apple.color = “红色“ orange = Fruit() orange .color = “橙色 “ watermelon = Fruit() watermelon = “绿色“ 8.定义一个汽车类,并在类中定义一个 move 方法, 然后分别创建 BMW_X9 、 AUDI_A9 对象,并添加颜色、马力、型号等属性,然后分别打印出属性值、调 用 move 方法 classCar: def move(self): print(“汽车正在移动 “) BMW_X9 = Car() BMW_X9 .color = “白色 “
14、BMW_X9 .horsepower = “300“ . . BMW_X9 .model = “X9“ BMW_X9 .move() print(“这辆%s %s的马力是 %s匹 “%(BMW_X9 .color,BMW_X9 .model,BMW_X9 .horsepower ) AUDI_A9 = Car() AUDI_A9 .color = “黑色 “ AUDI_A9 .horsepower = “320“ AUDI_A9 .model = “A9“ AUDI_A9 .move() print(“这辆%s %s的马力是 %s匹“%(AUDI_A9 .color, AUDI_A9 .mod
15、el, AUDI_A9 .horsepower ) 提示: 1.可以在通过类创建出对象后,再为对象添加属性:对象名 .属性名 = 值 的 方式添加 2.调用对象的方法和调用普通函数的一样,使用()来实现调用,只不过调用 方法需要使用:对象名 .方法名 ()来进行调用 练习题 3 要求: _init_ 方法、 _str_ 方法、 self 1._init_ 方法有什么作用,如何定义 当使用类名 ()的方法去创建对象的时候 python 解释器会自动调用 _init_方法 因此可以在 _init_方法中做一些初始化的设定 在每次创建新对象时,都自动完成这些初始化的设定 classHuman: de
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 面向 对象 概念 练习题
链接地址:https://www.31doc.com/p-5633574.html