3.2 Python语言程序设计
3.2.1 Python语言基础
本节课我们主要讲解:print()函数的使用,数据类型与表达式,变量和赋值语句,input()函数和基本数据结构等知识。
第1个内容,print()函数。顾名思义,print就是打印的意思,我们很多应用软件都有个快捷键Ctrl+P,就是用来打印文件用的。
Python中的print()函数就是在屏幕上输出一些信息。
这里有4个例子,老师和大家一起上机编程进行验证。再次提醒,信息技术是一门实践性很强的课程,同学们一定要加强上机实践。
是我们学习编程语言时,通常在屏幕上输出的第一行语句。这个惯例来自C语言之父在C语言经典著作《The C Program Language》(中文译名C程序设计语言)中,编写的C语言的第一个程序。这个程序运行后会在屏幕上打印一句“hello world”,象征着计算机程序设计语言向这个世界问好。“hello world”是一个字符串,字符串都会原样输出或者说打印在屏幕上。
打印5+3的运算结果,这里5+3并没有用引号引起来,因此Python会计算出结果,也就是8,并打印在屏幕上。
打印b和b*5的运算结果。两个结果在函数中用逗号隔开,打印时会以空格隔开。
打印字符串“5+4=”和b的值。显示的是5+4=9。
第2个内容,Python常见的数据类型。
整型,英文int,和数学中的整数概念一致,Python语言的一个特点就是整数可以像数学那样无穷大,而不会像C、VB等语言出现溢出错误。
实型,或者叫浮点型,类似数学中的实数,但是有范围限制,如果使用不当会产生严重错误,如0.2+0.1和0.3不想等。
字符串型,英文str,用单引号、双引号或者三引号引起来。
布尔型,英文bool,只有两种值,真True,假False。
第3个内容,Python算术运算符
大部分和数学相同,注意少部分运算符的写法,比如乘幂、乘号、除号等。
注意2种除法,实数除法和整数除法,还有取余运算。整数除法和取余运算的结果,类似我们在小学数学中学习的带余数的除法中的商和余数。
注意优先级,和数学中的一致,先乘幂,再乘除类,再加减。
表格中数字越小表示优先级越大。
【接下来我们计算并验证下列题目。】
第4个内容,Python关系运算符。
关系运算的结果是一个布尔值,若两个数据之间指定的关系成立,则计算的结果值为真(True),否则为假(False) 。True和False为关键词,区分大小写。首字母大写。关系运算符的优先级都一样,低于算术运算符,高于逻辑运算符。但是in这一优先级有争议,有的说4,有的说5。
第5个内容,Python逻辑运算符。
这一知识我们在通用技术选择性必修1中还会接触到,我们先进行一个简要介绍。
and,与,and两边的表达式都为真,整个表达式的值才为真。类似电路中2个开关串联,设开关闭合为真,灯泡亮为真,只有开关都闭合,灯泡才亮。举个比较生活化的例子,就是一个保险箱有密码锁、钥匙等多重验证,必须完成所有验证才能开启保险箱。口诀“一假即假,全真才真”。
or,或,or两边的表达式都为假,整个表达式的值才为假。类似电路中的2个开关并联,只有开关都不闭合,灯才不亮。举个较为生活化的例子,班主任、班长、纪律委员都有班级钥匙,他们其中一人到达即可打开班门。口诀“一真即真,全假才假”。
not,非,就是否定,假变真,真变假。
我们来专门看看Python成员运算符。有in和not in两个,in也就是前者包含在后者中,not in就是前者不包含在后者中。
第6个内容,变量和赋值语句。
程序设计时,有些数据是未知或可变的,为了更灵活地使用这些数据,可以使用变量来存储。
变量命名规则
赋值语句,功能是将表达式的值赋给左边变量的语句,基本格式:变量名 = 表达式。
执行步骤:
第一步:计算“=”右边表达式(或变量)的值。
第二步:将计算的值赋给左边变量。
赋值语句的一些特殊写法。
其他的赋值运算符。
第7个内容,input()函数。
print()函数用于向屏幕输出内容,input()函数则用于从键盘获取内容,input()函数中的括号中可以写入提示字符串。
【上机实践(输入姓名,问好)】
注意:使用input函数输入的,在Python中默认当做字符串来处理。如需要其他类型,则要在input()函数外面套上转换函数。如果需要转换为整数,使用int()函数;需要转换为实数使用float()函数。
上机实践3则(a+b的和,字符串)
第8个内容,基本数据结构。
我们只学习基本数据结构中比较常见的3个:字符串、列表和字典。
首先我们来看字符串,字符串英文string,简称str。字符串是由0个或多个字符组成的不可变序列,用引号引起来。对于只有一行的字符串,我们可以采用一对单引号或者一对双引号。对于歌词、小说、诗歌等多行字符串,为了输入、显示方便,我们可以在第一行和最后一行分别用3个单引号或者3个单引号把他们引起来。
字符串的长度,也就是字符串所包含的字符个数。需要注意的是,一个空格也是一个字符。字符串的长度可以使用len()函数获得。
为了方便指出某个字符,字符串提供索引,或者叫做下标。有2套索引,从左往右的索引叫做正向递增索引,简称正索引;从右往左的索引叫做反向递减索引,也叫负索引。
表格中展示的是字符串“hello world”的索引。
访问字符串中的某个字符,可以使用如下格式完成:字符串名[索引]。
这个样例程序我们放到IDE中运行一下,来一起分析结果。
【上机实践】
接下来我们来看字符串的切片。字符串的切片操作是为了方便截取字符串的一部分内容,以形成新的字符串的一个操作。
使用方法如下:字符串名[start: step: step]
start表示起始位置索引,省略时表示包含end前的所有元素;
end表示结束位置索引,但结果中不包含结束位置对应的元素,我们计算机中很多东西都是左闭右开的,省略时表示包含start后的所有元素;
step表示是步长,默认为1,步长可以是正数也可以是负数,正数表示从左到右,负数表示从右到左。
这个样例程序我们放到IDE中运行一下,来一起分析结果。
【上机实践】
接下来我们来看列表。列表(list)是Python中内置的有序可变序列,列表的所有元素放在一对中括号“[]”中,元素之间用逗号隔开,元素的类型可以不同。
这个样例程序我们放到IDE中运行一下,来一起分析结果。
【上机实践】
和字符串类似,列表也有索引,或者叫下标。
值得注意的是,字符串是可变序列,我们可以使用
列表名[下标]=值
给列表元素重新赋值。
这个样例程序我们放到IDE中运行一下,来一起分析结果。
【上机实践】
列表的切片操作,也和字符串类似。
这个样例程序我们放到IDE中运行一下,来一起分析结果。
【上机实践】
接下来,我们来比较一下字符串、列表的异同。
相同点:
字符串、列表可以进行的操作:
索引【访问其中某个元素】:[2]
切片【截取部分】:[1:4]
加【组合】:+
乘【重复】:*
检查成员【元素是否存在于列表中】:in
不同点:
列表可以修改其中的某个元素。
字符串不能修改其中的元素。
最后一个是字典。
和我们日常学习中用到的字典类似。字典由键值对组成。键就好比我们字典中要查的字,而值就好比这些字的释义。显然,键不可以重复,值可以重复。有同学此时要当“木工米青”了:那多音字呢?显然,《新华字典》的键可以说是由字和读音共同组成的。
注意字典是无序的、可变的,引用、修改元素时使用键作为索引。
这个样例程序我们放到IDE中运行一下,来一起分析结果。
【上机实践】