当前课程知识点:Python 交互式程序设计导论 > 第0周 > B 课程视频(变量及赋值) > 变量
返回《Python 交互式程序设计导论》慕课在线视频课程列表
今天我们主要讲的内容是程序设计中的一些基本概念 主要包括值、类型、变量和语句
这些概念呢对大家来讲理解起来并不困难
但是准确理解这些概念是我们下一步深入学习
程序设计所必要的一些条件和准备
下面我们开始今天的内容
作为大一的新生,我们经常会被人问到这样的一个问题
“你叫什么名字?今年多大了?身高是多少?”
以我为例“我叫白涛,今年35,身高是1.80m”
把我作为研究对象,“白涛”“35”“1.80”
这三个数据实际上是对这个研究对象不同属性的描述
我们把它称之为“值”
那么计算机程序处理的程序原料就是这些值
换句话说,这些值就是我们程序处理当中的“对象”
下一个问题请大家思考一下
刚才所谓的姓名、年龄和身高,这些值之间有差异吗?
大家看一下右上角这张图
我们在注册创建一个Apple ID的时候,或者在申请一个邮箱的时候
在申请的页面上往往需要各位同学把姓和名字分开填写
但是只有把姓和名做连接操作的时候才能得到一个完整的姓名
再比如说,各位同学应该在18岁左右,那么我比大家大17岁
怎么算的呢,用35-18非常简单
我大一的时候身高是1.78,四年长了0.02米,所以我毕业时是1.80米
用一个非常简单的实数的加法就可以完成
那么大家请看,姓名、年龄和身高,这三个值或者这三类数据
我们在上面施加的操作实际上是不完全相同的
“姓名”我们可能做得是连接操作,而“年龄”我们做得是整数的加减运算 而“身高”我们做得是实数的加减运算
由此,我们可以得到一个新的概念——类型
什么是“类型”,简单的可以这样去理解
就是我们在这些值或者这些数据上 所完成的操作是不同的,由此来区分数据类型
在python当中,我们常见的数据类型有以下几种
第一种最常见的嘛就是整数类型
这个概念跟我们在初中数学学过的整数这个概念是完全一致的
比如举个例子-1,10,1914
那么浮点类型呢,在我们初等数学当中,我们对应的概念应该是实数
举几个例子-0.6,1.5,3.14这叫浮点类型,也就是我们所谓的实数类型
第三个非常重要的数据类型叫字符串类型 字符串类型同学们可能是第一次接触
实际上呢,字符串类型在程序设计当中 在计算机的程序设计当中是非常重要的一种数据类型
字符串类型呢我们会有专门的一节课给大家来介绍
在这里大家只要把它简单的理解为计算机所能识别的这些
可以打印的这种字符串型的组织一个线性的组织结构
那么大家看一下这三个例子,第一个是’欢迎进入python世界’
注意在字符串的起始和结尾的位置是用“'”把它引起来的
我们把它称之为定界符,确定边界的一个特殊符号
那么第二个例子是'白涛',大家看前一撇后一撇单引号
第三个例子呢比较特殊,所以我以红色显示,它是一句英文I'm a student.
那么其中I am缩写了,所以把它写成“’”了
那这个时候就有问题了,我们说字符串的前后各用一个“’”来定界
那么在我字符串中如果有了“’”,前后再用“’”会产生冲突
怎么办呢?这个时候我们的定界符可以采用双引号,也就是说简单的讲
在字符串内部或者本身含有单引号的时候,我们的定界符就采用双引号
如果在字符串的内部含有双引号的时候
我们的定界符就可以采用单引号,必须有所区分
这个我们在后续的字符串的那节课当中,还会专门的给大家再强调
好,下面再请大家思考一个问题,刚才提到的我的姓名
我的年龄和身高,这些值会发生变化吗?
显而易见的是年龄一定会发生变化,当然到我这个年龄身高
应该不会有太大的变化,年龄一定会有
那么在上一张幻灯片当中 我写了这样一句话“我比同学们大35-18=17岁”
严格意义上来讲,实际上是有问题的
因为当明年的同学再看这个视频的时候,就应该是36-18=18岁
也就意味着我的年龄一定会随着时间而发生变化
计算机程序处理的值大多数、绝大多数都会发生变化
那么常数,或者说固定不变的值是有的,但是对计算机程序来讲
处理的大部分是可变的值,为了存储这种会变化的值
我们引入了一个新的概念叫“变量”
实际上变量这个词,同学们在初等数学当中也应该听过
简单的讲,变量就是代表值得名称
比如说x=5,这个很好理解,因为我们在初中数学的时候
我们经常会用到x=?,y=? 然后计算x和y的关系诸如此类这样的运算
那么在这里我们将x称之为变量,它能够代表的值是有限的
下面一个问题,人的名字是有规则的,那么变量的命名有规则吗?
这是显而易见的,显而易见的。有两个基本的原则,同学们一定要注意
这两个原则实际上在很多的程序设计语言当中都是通用的,都有共性的
那么第一个由数字、字母、下划线构成,只能以字母和下划线开头
什么意思呢?就是一个变量,
它只能由三个要素来组成数字、字母和下划线
只能以字母和下划线开头,不能以数字开头
比如说,我举个例子,我可以定义一个变量叫x_1
我不能定义一个变量时1_x,因为数字不能开头
这是第一个规则,第二个规则是不能与保留字同名
在这有个新的概念叫“保留字”,什么叫“保留字”呢?
保留字就是程序语言中预先定义好的、 具有特殊意义的词,你不能拿来再用了
计算机要通过这些有特殊意义的保留字来识别你的程序结构
你不能用它再来定义你自己的变量,这两个原则请各位同学一定要注意
那么有些同学会说“老师,这个保留字我怎么知道哪些是呢?”
或者说“我怎么能记得住那么多保留字呢?”
这个呢,在Python当中一共有33个保留字,在咱们教材的第19页
实际上在很多的编辑器当中
你只要输入保留字它会以不同颜色进行区分
即便没有区分颜色,你在运行的过程中
它也会很明显的提示你你的变量命名有问题
好,下面呢我们看语句这个概念 语句是程序中可以执行的最小代码单元——语句
那么我们的程序实际上就是由很多很多的语句按照一定的规则组合起来
来表达一个实际的逻辑问题
那么到今天为止,我们可能学过的最基本的两类语句
一个是赋值语句,比如我在这里写的 x=5,y=1.5,s='同学们,欢迎进入Python世界!'
还有一类基本语句叫输出语句,这个我们已经用过叫print()
括号里面呢填写的是你输出的结果
哦当然,可以是一个表达式可以是一个变量,也可以是一个常量
好,那么下面呢 我们再Python实际开发环境Pycharm当中给大家做演示
打开Pycharm的开发环境 我们来演示变量、类型、基本语句的一些基本内容
我们首先定义一个变量x,并且给它赋值为10
然后用print输出语句把x的值显示出来,这个非常简单
我们直接运行一下看下效果,显示输出10
那么在这我想强调一个问题,同学们先来看这个例子
好,同学们看下运行效果,class 'int',class 'int'
这是什么意思,我来解释一下,在这里
第一句话我定义了一个变量叫x,并且给它赋了一个值是10
显然x是一个整形的变量,整数类型的变量,我们简称为整形的变量
它的含义是把10这个整数呢,以x这个变量来代表
那么在第二句话当中,我用print这个输出语句输出了什么东西呢?
你看括号里是什么东西呢,输出了10的type,type是什么意思呢?
在英文当中,它的含义是类型的意思 那么看这句话的意思就是“显示输出10的类型”
10是什么类型呢?10这个值当然是整数类型
于是在这会显示一个int,int是英文单词整数的缩写,缩写
class我们后面会解释,在这我就不多说了 大家只要知道int表示的是一个整数
那么请看这,第三句话print(),括号里显示的是什么呢?
x的type,那就是这个变量的类型,显示的也是整数
好在这,我要强调的第一个问题是一个变量的type
变量的类型实际取决于它所存放的值得类型
比如说,我现在再来举个例子x='你好',同样的我来执行这么两句话
但是把这里面肯定要改成“你好”了,好,我们来看一下,运行一下
好,前面依然输出的是int,int,但是这,请看这
从第四句话开始我们把x变量重新赋了新的值,是'你好'
并且这个你好是用单引号引起来的,表示它是一个字符串
那我们显示你好这个字符串的type类型 显示的叫str,这表示它是一个字符串
那么再来显示x的type类型是什么呢?是一个str,也是一个字符串
通过这两个例子大家可以看到 第一,在Python中一个变量
它可以被赋予不同类型的数据,或者说值
当然这不是一个好的做法,这不是一个好的做法
如果x初始被赋值为10,它在程序当中最好一直保持整形的变量 一直保持整形的变量
当然这样做也是符合语法的
第二个请大家注意,变量的类型实际上是取决于它所存放的值的类型
通过这两个例子大家可以看到 如果存放的10,x就是什么类型呀,整数类型
如果你存放的是“你好”,x就一定是字符串类型,str是字符串的缩写
好,这是大家在基本的变量类型概念里面需要清楚的
好,下面我们再来看你,我再定义一个变量y=3.14,好输出print(y)
前面这些话呢我们注释一下,运行一下,好3.14,这没问题非常简单
好,那我们对y呢做一些处理y=y+3**2,这实际上是一个表达式了
这个意思是把这个表达式运算的结果赋值给y
然后再输出一下,好,大家看一下运行结果,12.14
怎么算的呢?3的2次方,这个表达式我们前面讲过等于9
9+y,这个y的值是多少呢?当然是上面这个值3.14
3.14+9=12.14赋给了y,也就是说y被赋予了全新的值,是12.41
这就是变量变化的含义 下面呢,我们再来举一个字符串的例子
我们定义一个s='欢迎进入Python世界!',好,我们把它输出一下
这个非常简单,大家看,运行一下
在这显示的是欢迎进入Python世界,没有问题
那么字符串类型,我能不能对它进行一些变化呢?
看看,我们这样做是否合法,我在这输入'你好,'
然后+s,然后输出新的s的值
运行一下,好,大家请看,我定义的变量叫s
这个s的值呢是'欢迎进入Python世界!',然后把它显示
所以你看到的是这样一句话
那么这句话呢是将s前面又加了'你好,'这样一个字符串
把这个组合而成的新的字符串赋给了s,那就意味这s得到了全新的值
这个值就是'你好,欢迎进入Python世界!','欢迎进入Python世界!'
在这呢,同学们可能有点困惑,这个+不是算数中的加法吗?
两个字符串怎么完成加法运算呢?大家在后面的课程当中会找到答案
实际上这里的加法是将两个字符串进行连接操作,连接操作
好,下面我们回顾一下在这个例子当中我们用到的语句
赋值语句就是类似于一个变量等于一个值或者一个表达式这样的语句
而输出语句我们用的很多了,就是print语句
总结一下,在今天的课程当中,变量、类型、基本语句
包括前面讲到的值得概念,这些概念的理解对各位同学来讲不应该困难
但是能够准确理解这些概念的含义
对大家将来学习程序设计会有很大的帮助
希望大家课后能认真看一下,好,今天的课程就讲到这
-课程简介
--课程简介
-A 课程视频(算数操作符及表达式)
--绪论
-B 课程视频(变量及赋值)
--变量
--项目提交
-C 辅助视频(计算机结构、Python开发环境安装)
-D 辅助视频(如何提交项目)
--项目提交
-第0周--小测验
-本周项目:"我喜欢Python"
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
--项目提交
-A 课程视频(函数)
--函数
--其它操作符
--随机函数
-B 课程视频(逻辑及表达式)
--逻辑值和比较
--条件
--编程技巧
-第1周--小测验
-本周项目:“老虎杠子鸡虫”游戏
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(Python交互式应用)
--事件驱动编程
--按钮
-B 课程视频(输入框、全局变量)
--输入框
--编程技巧
-第2周--小测验A
-第2周--小测验B
-本周项目:猫咪藏在哪个房间
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(画布绘图)
--画布和图形绘制
--字符串处理
--图片和音效
-B 课程视频(计时器)
--计时器
--交互式绘图
--“神奇时钟”游戏
--编程技巧
-第3周--小测验A
-第3周--小测验B
-本周项目:“神奇时钟”
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(列表)
--列表
--键盘输入
--碰撞和反射
-B 课程视频(键盘控制)
--速度控制
--运动
--编程技巧
--“桌上冰球”游戏
-第4周--小测验A
-第4周--小测验B
-本周项目:“桌上冰球”游戏
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(鼠标输入、列表进阶)
--鼠标输入
--Video
--Video
--Video
-B 课程视频(字典和图片)
--Video
--Video
--Video
--Video
-第5周--小测验A
-第5周--小测验B
-本周项目:“世界杯八强连连看”
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(类)
--华容道中的类
-B 课程视频(平铺图片)
--平铺图片
--理解对象
--编程技巧
--“华容道”游戏
-第6周--小测验A
-第6周--小测验B
-本周项目:“华容道”游戏
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(类进阶及文件操作)
--集合
--文件操作
--文字块类
--处理停止的文字块
-B 课程视频(游戏状态控制)
--游戏记分规则
--编程技巧
-第7周--小测验A
-第7周--小测验B
-本周项目:决战三字经
--游戏说明
--程序说明
--编程步骤
--评分标准
--项目模板
-A、课程视屏(精灵集合)
--Video
--精灵类
--战士类
--编程技巧
-B、课程视屏(动画)
--精灵碰撞
--精灵动画
--编程技巧
--保卫家园游戏
-第8周--小测验
-本周项目:守卫家园
--游戏说明
--程序说明
--编程步骤
--评分标准
--项目模板