当前课程知识点:Python 交互式程序设计导论 >  第4周 >  B 课程视频(键盘控制) >  编程技巧

返回《Python 交互式程序设计导论》慕课在线视频课程列表

编程技巧在线视频

编程技巧

下一节:“桌上冰球”游戏

返回《Python 交互式程序设计导论》慕课在线视频列表

编程技巧课程教案、知识点、字幕

在这个礼拜的课程中呢

我们将给大家介绍一下Python里面的可变于不可可变性,

那可变呢指的就是,当你定义了一个对象之后元素的值或者说元素的 内容是可以被修改的,

那其实呢,也就是说当你定义一个对象之后可以通过下标的方法 来修改这个对象里面的内容,

那我们前面学过的列表呢还是一个可变的数据类型

今天的课程中,除了给大家介绍列表的可变性 还要给大家介绍一种不可变的数据类型,就是元组

那下面开始我们今天的课程

好,我们来创建一个列表,alist,创建列表的时候呢用的是中括号

我们假设列表的元素是1,2,3,

因为我们说过列表是可变的, 就是说列表呢支持用下标的方式来修改它的元素值

我来修改一下,修改它第一个元素,索引为0改成10吧

然后我要修改一下第二个元素的值索引为1,我把它改成5

好,那我打印一下,打印一下,好,

如果说它支持一种修改方式的话,

那列表修改之后呢它的元素值应该变成10,5,3对吧

好那我在修改之前也打印一下 好我们来运行一下

大家发现原来的list三个元素是1,2,3

经过我的修改之后呢它的元素值变成了10,5,3

确实是通过这种方式已经被修改了

那列表这种可变性就导致列表呢可不安全的

任何人都可以修改元素里面的内容

那接下来我们给大家介绍一下另一种数据类型 不可变的可叫元祖

元是这个写法啊,元祖

就是tuple了,就是它的关键字,好我们来定义一下

元组呢跟列表非常非常的像

我在写的时候大家就会注意到

atuple=(1,2,3) 大家发现它俩是不是很像

它呢列表中的是中括号来定义的

而我们把元祖呢用圆括号来定义的

我来打印一下,打印下了,好打印了

那我现在看一下它们两的数据类型吧

查看一个对象的数据类型的用的是type函数type

先看一下list的数据类型 那复制一下,在看一看元祖的数据类型

好,看一下,运行,大家看下面的结果

我在打印出来的时候它就是1,2,3就是一个元祖

然后呢,它的数据的类型 列表的据类型是list是吧

元祖的数据类型是tuple,就是元组

因我们说元组是不可变的, 不可变指的是它不能修改元组里面的内容

那你看我现在已经定义了一个元组

它里面的元素是1,2,3 我想修改一下通过下标的方式我来修改atuple=0

我把它修改成,我把它修改成10吧 修改之前呢我先打印一下吧

就是来证明它可以来通过下标的方式来取元素,来取对象里面的值

先把第零个元素的值取出来,然后呢我在修改,运行

已经有错误了

第零个元素的值是1 看,没有问题

然后我们看错误提示 类型错,TypeError我们之前说过类型错误说

’tuple’这个对象呢 就是对象的意思不支持元素的复制,是吧

就是说你不能修改元素的值,原来是1就是1 你只能用它,你不能把它修改成10

这就是元组的不可变性

那它的这种不可变性的最大的有一个好处就是数据保护

怎么达到数据保护的作用呢,给大家举一个例子

我们来看这个例子

这个文件呢是一个发工资的一个文件

就假如你是人事部的经理

然后得你写了一个文件就定义了一个列表

里面的写清楚了,每一级员工的工资金额

然后呢,你写完之后交给财务部寄发工资 到这个文件里面去

大家记清楚这个文件只有人事部经理才可以看才可以修改

之后呢我是任职部的小职员是吧 我呢,先打印一下

看下每一级员工的工资多少 运行

发现0级是2000块钱

一级员工是5000 二级员工是7000

那我可能心里就不服气了

为什么我才2000块钱呢

所以我就要想修改一下这工资的金额

好,我来修改了,好,因为我是0级嘛

我呢想把它修改成4000但这个是违法的啊

在我们实际工作中是不可能这么做的

只是我们在课堂做了例子给大家解释一下元组的数据保护是什么意思

好,修改了,点击,发现修改成了

这将成了一个很重大的问题了

在公司里面这是个很大的事故

我们回过头来检查一下为什么它可以修改呢

原来它把这个工资的金额呢定义成了一个列表

列表的数据元素是可以修改的

好,为了不让修改它定义成元组的中括号改成圆括号

好,这一下我们就修改完了

好财务部这块再来看,再运行,错误了

当然元组是不能被复制的是吧

这个例子很好的说明了元组的数据保护性

当你程序里面呢某个变量或者某个对象

你想定义完了之后不被任何人修改 他们只能用不能修改的

那我们就把它定义成一个元组来保护你的数据

那我们今天的课程呢就上到这里,下次我们再见!

Python 交互式程序设计导论课程列表:

第0周

-课程简介

--课程简介

-A 课程视频(算数操作符及表达式)

--绪论

--Python交互式解释器使用方法

--PyCharm集成开发环境介绍

--算数操作符及表达式

-B 课程视频(变量及赋值)

--变量

--项目提交

--“我喜欢Python”热身小项目

-C 辅助视频(计算机结构、Python开发环境安装)

--Windows平台安装Python开发环境

--Mac平台安装Python开发环境

-D 辅助视频(如何提交项目)

--项目提交

-第0周--小测验

-本周项目:"我喜欢Python"

--项目发布、完成、提交及评分流程

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

--项目提交

第1周

-A 课程视频(函数)

--函数

--其它操作符

--随机函数

-B 课程视频(逻辑及表达式)

--逻辑值和比较

--条件

--编程技巧

--“老虎杠子鸡虫”游戏

-第1周--小测验

-本周项目:“老虎杠子鸡虫”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第2周

-A 课程视频(Python交互式应用)

--事件驱动编程

--事件可视化跟踪执行

--SimpleGUITk

--按钮

-B 课程视频(输入框、全局变量)

--输入框

--局部变量和全局变量

--编程技巧

--“猫咪藏在哪个房间”游戏

-第2周--小测验A

-第2周--小测验B

-本周项目:猫咪藏在哪个房间

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第3周

-A 课程视频(画布绘图)

--画布和图形绘制

--字符串处理

--绘图和计时器可视化跟踪执行

--图片和音效

-B 课程视频(计时器)

--计时器

--交互式绘图

--“神奇时钟”游戏

--编程技巧

-第3周--小测验A

-第3周--小测验B

-本周项目:“神奇时钟”

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第4周

-A 课程视频(列表)

--列表

--键盘输入

--列表及变化可视化跟踪执行

--碰撞和反射

-B 课程视频(键盘控制)

--速度控制

--运动

--编程技巧

--“桌上冰球”游戏

-第4周--小测验A

-第4周--小测验B

-本周项目:“桌上冰球”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第5周

-A 课程视频(鼠标输入、列表进阶)

--鼠标输入

--Video

--Video

--Video

-B 课程视频(字典和图片)

--Video

--Video

--Video

--Video

-第5周--小测验A

-第5周--小测验B

-本周项目:“世界杯八强连连看”

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第6周

-A 课程视频(类)

--面向对象编程(类和对象入门)

--面向对象编程(类和对象进阶)

--对象可视化跟踪执行

--华容道中的类

-B 课程视频(平铺图片)

--平铺图片

--理解对象

--编程技巧

--“华容道”游戏

-第6周--小测验A

-第6周--小测验B

-本周项目:“华容道”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第7周

-A 课程视频(类进阶及文件操作)

--集合

--文件操作

--文字块类

--处理停止的文字块

-B 课程视频(游戏状态控制)

--游戏记分规则

--游戏结束的条件及处理

--编程技巧

--“决战三字经”游戏

-第7周--小测验A

-第7周--小测验B

-本周项目:决战三字经

--游戏说明

--程序说明

--编程步骤

--评分标准

--项目模板

第8周

-A、课程视屏(精灵集合)

--Video

--精灵类

--战士类

--编程技巧

-B、课程视屏(动画)

--精灵碰撞

--精灵动画

--编程技巧

--保卫家园游戏

-第8周--小测验

-本周项目:守卫家园

--游戏说明

--程序说明

--编程步骤

--评分标准

--项目模板

编程技巧笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。