起航学习网 - 让每个人都能学到最前沿新知识、新技能!

起航学习网

当前位置: 起航学习网 > 短期培训 > 编程语言 > 少儿编程真的很好学 0基础学python这就这么简单

少儿编程真的很好学 0基础学python这就这么简单

时间:2018-09-05 12:59:05来源:编程网 作者:IT培训网 已有: 名学员访问该课程

前言:在 Todo 类中,__saveTodo__ 和 __loadTask__ 两个方法我们定义成了私有方法,通过这种方式。我们把数据的底层存储和上层使用隔离开,这样使用Todo类的人就不会关注这些内部细节了。

少儿编程很好学之从0开始学python-8.3面向对象实战!让小孩子学编程不在难!

少儿编程真的很好学 0基础学python这就这么简单_www.epx365.cn

面向对象是目前主流的编程方法。通过面向对象,可以将系统有效的隔离,使得程序容易维护和扩展。在这节课里,我们会先开发一个简易的待办清单来退回面向对象的好处。

代办清单

少儿编程真的很好学 0基础学python这就这么简单_www.epx365.cn

我们在学习生活中经常要安排处理很多事情。这些事情如果没有被整理后,很容易忘掉。终端版的待办事项就是为了解决这个问题实现。

我们首先定义个Task类:

class Todo: def __init__(self): self.taskList = [] self.__fileLocation__ = "./todo.txt" self.__loadTask__() def addTodo(self, thing): self.taskList.append(thing) self.__saveTodo__() return True def removeTodo(self, thing): if not thing in self.taskList: return False else: self.taskList.remove(thing) self.__saveTodo__() return True def searchTodo(self, thing): for todo in self.taskList: if thing in todo: return todo return None def getAllToto(self): return self.taskList def __loadTask__(self): file = open(self.__fileLocation__, 'r') self.taskList = file.readlines() def __saveTodo__(self): file = open(self.__fileLocation__, 'w') file.write('\n'.join(self.taskList)) file.close()

这个类定义了一个taskList实例属性,拥有:getAllToto searchTodo removeTodo addTodo 几个方法。同时,为了所有的备忘事项通过 __saveTodo__ 方法存储到磁盘里。

接着,我们来使用这个类:

todo = Todo()while True: command = input('command arg') if 'exit' == command: exit(0) commandArr = command.split(' ') if 'addTodo' == commandArr[0]: todo.addTodo(commandArr[1]) elif 'removeTodo' == commandArr[0]: todo.removeTodo(commandArr[1]) elif 'getAllToto' == commandArr[0]: print(todo.getAllToto()) else: print('not find command')

我们首先实例化了一个 Todo类。接着用while 循环不断监听用户的输入。程序根据用户的输入调用todo对象的不同方法。

少儿编程真的很好学 0基础学python这就这么简单_www.epx365.cn

在这个项目里,我们复习了第六章学习的文件系统,将待办清单存储到磁盘,这样数据就不会丢失了。在大型系统里,我们会把数据保存到更专业的数据库中。

在 Todo 类中,__saveTodo__ 和 __loadTask__ 两个方法我们定义成了私有方法,通过这种方式。我们把数据的底层存储和上层使用隔离开,这样使用Todo类的人就不会关注这些内部细节了。

面向对象在游戏里的应用

面向对象在游戏里的使用就更普遍了,我们来用python模拟一下王者荣耀的亚瑟和安其拉。

少儿编程真的很好学 0基础学python这就这么简单_www.epx365.cn

class Hero: def __init__(self, nickname, life_value, aggre_value): self.nickname = nickname self.life_value = life_value self.aggre_value = aggre_value def attack(self, enemy): self.skill() enemy.life_value = enemy.life_value - self.aggre_value def skill(self): print('skill')class Arthur(Hero): def skill(self): print('圣剑裁决')class Angela(Hero): def skill(self): print('炽热关辉')

我们定义了一个hero类,这个类包含 life_value aggre_value 两个属性,分别表示生命值和攻击值。attack方法根据自己的aggre_value属性的值扣减敌人血量。

Arthur类和Angela类用来表达亚瑟和安其拉。这两个类复写了 skill方法。让亚瑟和安其拉拥有不同的技能。

英雄的攻击技能会首先调用skill方法展示自己的技能,然后执行公共的扣血动作。

通过面向对象,将系统的公共部分和具体实现部分做到了很好的隔离,小朋友们是不是也有这种感觉啦?

经过了这么久的终端编程,是不是很乏了?下节课,我们就进入图形编程了。我们写的代码也终于可以有一张漂亮的脸了,加油!

原文标题:少儿编程真的很好学 0基础学python这就这么简单

原文链接:http://www.epx365.cn/peixun/software/201843283.html

 (责任编辑:IT培训网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
培训学校
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:IT培训网 联 系 人:王老师 联系电话:0371-55025032 联系手机:13783581536 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件:3158895217@qq.com 网站域名:http://www.cnitedu.cn 注册时间:2016-07-18 11:07 最后登录:2018-10-16 12:10
推荐内容