Python程序开发基础 课件 项目8 活学活用面向对象.pptx

Python程序开发基础 课件 项目8 活学活用面向对象.pptx

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;;;

获取网页数据;;;类和对象;类的定义;譬如:;对象及创建;类定义完成后不能直接使用,需要实例化为对象才能实现其意义。;若想在程序中真正地使用对象,需掌握访问对象成员的方法。

对象成员分为属性和方法,其访问格式分别如下:;访问限制;Python通过在类成员名前添加双下划线(__)来限制成员的访问权限。语法格式如下:;访问私有成员;私有属性可在公有方法中通过指代对象本身的默认参数“self”访问,类外部可通过公有方法间接获取类的私有属性。私有方法同样在公有方法中通过参数“self”访问;特殊方法;构造方法;__init__()方法按照参数的有无(self除外)可分为无参构造方法和有参构造方法。

无参构造方法:无参构造方法中可以为属性设置初始值,此时使用该方法创建的所有对象都具有相同的初始值。

有参构造方法:有参构造方法中可以使用参数为属性设置初始值,此时使用该方法创建的所有对象都具有不同的初始值。

;定义一个Information类,在该类中显式地定义一个带有3个参数的__init__()方法。;实例1:计算学生成绩。

定义一个学生类,具体要求如下:

1.有如下属性:姓名、年龄、成绩(语文,数学,英语),其中每科成绩的类型为整数。

2.有如下方法获取学生的姓名:get_name(),返回值类型为str;获取学生的年龄:get_age(),返回值类型为int。返回3门科目中的最高分:get_course(),返回类型为int。

写好类以后,定义一个学生实例进行测试。

;析构方法;Python的析构方法采用的是垃圾回收机制。;类方法;定义类方法

类方法可以被类名或对象名调用,其语法格式如下:

;静态方法;任务实践-获取网页数据;代码如下:;设计人机猜拳游戏;;Python中类与类之间具有继承关系,其中被继承的类称为父类或基类,继承的类称为子类或派生类。;单继承与多继承;单继承与多继承;classHorse(object):

defrun(self):

print(马儿奔跑)

classDonkey(object):

defrun(self):

print(驴儿打滚)

classMule(Horse,Donkey):

pass

mule=Mule()

mule.run();方法的重写;#父类定义如下

classFelines:

defspeciality(self):

print(猫科动物特长是爬树)

#子类定义如下

classCat(Felines):

name=猫

defspeciality(self):

print(f{self.name}会抓老鼠)

print(f{self.name}会爬树)

cat=Cat()

cat.speciality()

;super()函数;多态;实例2:统计参加长跑的名单及人数。

学校举办十公里长跑活动,在报名的过程中允许报过名的同学退出,在活动当天会报出参加活动的运动员名单和人数。本实例要求使用类的继承来编程,完成统计参加长跑的名单和人数的功能。;任务实践-设计人机猜拳游戏;代码如下:;classGame:

defgame_judge(self):

player=Player().gesture()

AIPlayer().play_data.append(player)

aiplayer=AIPlayer().ai_gesture()

if(player==剪刀andaiplayer==布)or\

(player==石头andaiplayer==剪刀)\

or(player==布andaiplayer==石头):

print(f电脑出的手势是{aiplayer},恭喜,你赢了!)

elif(player==剪刀andaiplayer==剪刀)or\

(player==石头andaiplayer==石头)\

or(player==布andaiplayer==布):

print(f电脑出的手势是{aiplayer},打成平局了!)

else:

pr

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档