通过Pythony掌握所有编程语言的共用语法
箴言
在上节课我们跟着学习指南,了解了Python的基础语法,在接下来的两次课程,我们通过上机编程,掌握Python中所有编程语言的共用语法结构。
任务目标
通过本节课的上机练习,我们关于Python中所有编程语言的共用语法结构的目标效果是:
- 对于如下Python语言的语法结构,
- 能够手写Python代码,
- 实现若干具体、简单的功能。
本次课程需要掌握的语法结构如后续小节所示。
1. 变量、数据类型及其数学操作
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
Python3 中常见的数据类型有:
- Number(数字)
- String(字符串)
- bool(布尔类型)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
本节任务:
- 阅读参考资料Python3 基本数据类型 | 菜鸟教程,
- 并通过本节练习,需要掌握Python变量方面的以下技能:
- 变量定义与赋值
学会直接使用等号“=”给变量赋值,无需提前声明,如
counter = 100
(整型变量赋值)、miles = 1000.0
(浮点型变量赋值)、name = "runoob"
(字符串变量赋值) 。还能进行多个变量同时赋值,像a = b = c = 1
让多个变量指向同一对象;a, b, c = 1, 2, "runoob"
则可将不同值赋给多个变量 。 - 变量类型操作
通过
type()
函数查询变量所指对象的类型,如type(a)
。利用isinstance()
判断变量是否属于某一类型,并且了解isinstance()
和type()
在判断子类与父类关系时的区别。知道Python变量类型由所指对象决定,同一变量可重新赋值指向不同类型对象,如a = 1; a = "string"
。 - 变量在数据类型中的运用
在不同数据类型场景下灵活运用变量。在数值运算中,变量参与加、减、乘、除等运算,理解除法运算符“/”和“//”的区别,以及混合计算时整型到浮点型的转换规则。操作字符串变量时,掌握字符串索引、切片、连接、重复等操作,例如
str = "Runoob"; str[0]
获取首个字符、str * 2
重复字符串 。操作列表变量,能进行索引、切片、拼接、修改元素等操作,如list = [1, 2, 3]; list[0] = 4
修改列表首个元素 。元组变量可索引、切片、拼接,但元素不可修改,像tuple = (1, 2); tuple[0]
获取元素 。集合变量可用于成员测试和集合运算,如if 'Runoob' in sites
判断元素是否在集合中 。字典变量通过键来存取值,如dict = {'one': 'value'}; dict['one']
获取对应值 。 - 变量内存管理
运用
del
语句删除变量引用,释放内存,如del var1
删除单个变量,del var_a, var_b
删除多个变量 。
2. 程序输出的格式化打印
我们至少需要了解程序的输出,从而实现基本的人机交互和程序调试。就目前而言我们只需要了解print()
函数的基本用法及其嵌入变量的格式化字符串。
print()
函数的基本用法的案例如下:
print("Hello, world!") # 打印字符串
print(1, 2, 3) # 打印数字
print("Hello", "world") # 打印多个字符串
print("Hello", "world", sep=",") # 打印多个字符串,使用逗号分隔
print("Hello", "world", sep=",", end="!") # 打印多个字符串,使用逗号分隔,感叹号结束
使用 格式化字符串字面值 ,要在字符串开头的引号/三引号前添加 f
或 F
。在这种字符串中,可以在 {
和 }
字符之间输入引用的变量,或字面值的 Python 表达式。
year = 2016
event = 'Referendum'
f'Results of the {year} {event}'
'Results of the 2016 Referendum'
# 输出:'Results of the 2016 Referendum'
本节任务:
- 阅读格式化字符串字面值,
- 熟悉
f-string
的用法。
3. 条件语句
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
Python中if语句的一般形式如下所示:
if condition1:
# 执行语句块1
else if condition2:
# 执行语句块2
else:
# 执行语句块3
本节任务:
- 通过阅读Python3 条件控制,
- 掌握
if - else if -else
语句的用法。 - if语句中,表达条件成立与否的逻辑运算符有:
and
、or
、not
,它们的优先级是:not > and > or
。 了解这些逻辑运算符的用法。
4. 循环语句
循环语句表示某条指令在满足一定条件下,重复地执行。 Python 中的循环语句有 for 和 while。 Python 循环语句的控制结构图如下所示:
以最常用的for
循环为例,Python 中的 for 循环语句的一般形式如下所示:
for variable in sequence:
# 执行语句块
在上面的语法中,variable
是循环变量,sequence
是一个序列(如列表、元组、字典、集合或字符串)。在每次迭代中,variable
将被赋值为 sequence
中的下一个值。
举个for
循环的栗子(用于累加1到100的自然数之和):
sum = 0
for i in range(1, 101):
sum = sum + i
print("1到100的自然数之和为:", sum)
解释:
sum
:变量,用于存储累加的结果。sum = 0
:初始化变量 sum 为 0。i
:循环变量,表示当前的整数值。range(1, 101)
:生成从 1 到 100 的整数序列。for i in range(1, 101)
:使用 for 循环遍历从 1 到 100 的整数。sum = sum + i
:将当前的 i 值加到 sum 中。print("1到100的自然数之和为:", sum)
:打印结果。
本节任务:
- 阅读Python3 循环语句,
- 熟悉
for
循环的用法。 - 熟悉
while
循环的用法。 - 熟悉
break
和continue
语句的用法。 - 熟悉
range()
函数的用法。
5. 课后作业
作业对象:所有同学
练习1:变量和字符串格式化练习
- 要求:
- 提示用户输入姓名和年龄
- 使用f-string格式化方式输出一句问候语
- 计算出100年后的年龄并输出
- 在输出中使用字符串运算符将姓名重复3次
- 考察要点:
- 要求同学们使用input()、int()、f-string等知识点完成练习
- 涉及本节
1
和2
两个小节的知识点
练习2:数据类型和运算符练习
- 要求:
- 提示用户输入两个数字(浮点数)
- 计算并输出这两个数的: 和, 差, 积, 商(保留2位小数).
- 比较这两个数的大小,使用比较运算符输出比较结果
- 考察要点:
- 要求同学们使用float()、算术运算符、比较运算符等知识点完成练习。
- 涉及到本章第
1
小节中,关于变量、数据类型及其数学操作的知识点
练习3: 循环和条件语句综合训练
- 要求:
- 把1到100的自然数分为3类:
- 3的倍数
- 5的倍数
- 3和5的倍数
- 分别使用
for
和while
循环(配合if-else
语句)实现 - 输出每类的数字
- 把1到100的自然数分为3类:
- 考察要点:
- 要求同学们使用
for
、while
、if-else
等知识点完成练习 - 重点考察本章第
3
和第4
小节中,关于条件语句和循环语句的知识点 - 在条件判断部分,涉及到本章第
1
小节中,关于变量及其数学操作的知识 - 在程序输出部分,涉及到本章第
2
小节中,关于字符串格式化的知识点
- 要求同学们使用