Skip to content

通过Pythony掌握所有编程语言的共用语法

箴言


在上节课我们跟着学习指南,了解了Python的基础语法,在接下来的两次课程,我们通过上机编程,掌握Python中所有编程语言的共用语法结构。

任务目标

通过本节课的上机练习,我们关于Python中所有编程语言的共用语法结构的目标效果是:

  1. 对于如下Python语言的语法结构,
  2. 能够手写Python代码
  3. 实现若干具体、简单的功能。

本次课程需要掌握的语法结构如后续小节所示。

1. 变量、数据类型及其数学操作

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。

Python3 中常见的数据类型有:

  • Number(数字)
  • String(字符串)
  • bool(布尔类型)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

本节任务:

  1. 阅读参考资料Python3 基本数据类型 | 菜鸟教程
  2. 并通过本节练习,需要掌握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()函数的基本用法的案例如下:

python
print("Hello, world!") # 打印字符串
print(1, 2, 3) # 打印数字
print("Hello", "world") # 打印多个字符串
print("Hello", "world", sep=",") # 打印多个字符串,使用逗号分隔
print("Hello", "world", sep=",", end="!") # 打印多个字符串,使用逗号分隔,感叹号结束

使用 格式化字符串字面值 ,要在字符串开头的引号/三引号前添加 fF 。在这种字符串中,可以在 {} 字符之间输入引用的变量,或字面值的 Python 表达式。

python
year = 2016 
event = 'Referendum' 
f'Results of the {year} {event}' 
'Results of the 2016 Referendum'
# 输出:'Results of the 2016 Referendum'

本节任务:

  1. 阅读格式化字符串字面值
  2. 熟悉f-string的用法。

3. 条件语句

Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程:

if条件语句的执行原理

Python中if语句的一般形式如下所示:

python
if condition1:
    # 执行语句块1
else if condition2:
    # 执行语句块2
else:
    # 执行语句块3

本节任务:

  1. 通过阅读Python3 条件控制
  2. 掌握if - else if -else语句的用法。
  3. if语句中,表达条件成立与否的逻辑运算符有:andornot,它们的优先级是:not > and > or。 了解这些逻辑运算符的用法。

4. 循环语句

循环语句表示某条指令在满足一定条件下,重复地执行。 Python 中的循环语句有 for 和 while。 Python 循环语句的控制结构图如下所示:

python循环语句

以最常用的for循环为例,Python 中的 for 循环语句的一般形式如下所示:

python
for variable in sequence:
    # 执行语句块

在上面的语法中,variable 是循环变量,sequence 是一个序列(如列表、元组、字典、集合或字符串)。在每次迭代中,variable 将被赋值为 sequence 中的下一个值。

举个for循环的栗子(用于累加1到100的自然数之和):

python
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):打印结果。

本节任务:

  1. 阅读Python3 循环语句
  2. 熟悉for循环的用法。
  3. 熟悉while循环的用法。
  4. 熟悉breakcontinue语句的用法。
  5. 熟悉range()函数的用法。

5. 课后作业

作业对象:所有同学

练习1:变量和字符串格式化练习

  • 要求:
    1. 提示用户输入姓名和年龄
    2. 使用f-string格式化方式输出一句问候语
    3. 计算出100年后的年龄并输出
    4. 在输出中使用字符串运算符将姓名重复3次
  • 考察要点
    1. 要求同学们使用input()、int()、f-string等知识点完成练习
    2. 涉及本节12两个小节的知识点

练习2:数据类型和运算符练习

  • 要求:
    1. 提示用户输入两个数字(浮点数)
    2. 计算并输出这两个数的: 和, 差, 积, 商(保留2位小数).
    3. 比较这两个数的大小,使用比较运算符输出比较结果
  • 考察要点
    1. 要求同学们使用float()、算术运算符、比较运算符等知识点完成练习。
    2. 涉及到本章第1小节中,关于变量、数据类型及其数学操作的知识点

练习3: 循环和条件语句综合训练

  • 要求:
    1. 把1到100的自然数分为3类:
      • 3的倍数
      • 5的倍数
      • 3和5的倍数
    2. 分别使用forwhile循环(配合if-else语句)实现
    3. 输出每类的数字
  • 考察要点
    1. 要求同学们使用forwhileif-else等知识点完成练习
    2. 重点考察本章第3和第4小节中,关于条件语句和循环语句的知识点
    3. 在条件判断部分,涉及到本章第1小节中,关于变量及其数学操作的知识
    4. 在程序输出部分,涉及到本章第2小节中,关于字符串格式化的知识点

本次作业完成名单

  1. Yanling ZHANG
  2. JingQiu LUO
  3. Liudong ZHOU
  4. Yuli LIU

Author:Yuli LIU


Author:Liudong ZHOU