介绍
欢迎来到 Python 基础知识学习!我们都需要从某个地方开始,而这个 Lab 就是开始的绝佳场所。Python 是一种易于学习、功能强大的编程语言,以其优雅的语法和动态类型而闻名,使其成为脚本编写和快速应用程序开发的理想语言。
在这个 Lab 中,你将学习到 Python 中一些最基本的核心概念。我们将涵盖:
- 数学运算符及其优先级。
- 用于更简洁代码的增强赋值运算符(Augmented assignment operators)。
- 用于在表达式中赋值变量的海象运算符(Walrus Operator)(
:=)。 - Python 的核心数据类型。
- 基本的字符串操作,如拼接(concatenation)和复制(replication)。
让我们开始吧!
数学运算符
在这一步,你将学习 Python 的数学运算符及其优先级。运算符优先级决定了表达式中运算的执行顺序。
以下是常见的数学运算符,按优先级从高到低排列:
| 运算符 | 运算 | 示例 |
|---|---|---|
** |
幂运算 (Exponent) | 2 ** 3 = 8 |
% |
取模/余数 (Modulus/Remainder) | 22 % 8 = 6 |
// |
整除 (Integer division) | 22 // 8 = 2 |
/ |
除法 (Division) | 22 / 8 = 2.75 |
* |
乘法 (Multiplication) | 3 * 3 = 9 |
- |
减法 (Subtraction) | 5 - 2 = 3 |
+ |
加法 (Addition) | 2 + 2 = 4 |
注意: 如果你不熟悉使用 WebIDE (类似 VS Code),请先在 这个实验 学习。
让我们练习使用这些运算符。从左侧的文件浏览器中打开 main.py 文件。清除任何现有内容并添加以下代码。我们将使用 print() 函数来查看每个表达式的结果。
## 乘法优先级高于加法
## 所以这被评估为:2 + (3 * 6) = 2 + 18 = 20
print(2 + 3 * 6)
## 括号覆盖运算符优先级
## 这被评估为:5 * 6 = 30
print((2 + 3) * 6)
## 幂运算
print(2 ** 8)
## 整除
print(23 // 7)
## 取模/余数
print(23 % 7)
## 一个更复杂的表达式
print((5 - 1) * ((7 + 1) / (3 - 1)))
现在,通过打开终端并执行以下命令来运行脚本:
python3 main.py
你应该会看到以下输出,每个结果占一行:
20
30
256
3
2
16.0
增强赋值运算符
在这一步,你将探索增强赋值运算符(Augmented assignment operators)。它们提供了一种简洁的方式来对变量执行操作,并将新值重新赋给它。
下表展示了这些运算符及其等效形式:
| 运算符 | 等效形式 |
|---|---|
var += 1 |
var = var + 1 |
var -= 1 |
var = var - 1 |
var *= 1 |
var = var * 1 |
var /= 1 |
var = var / 1 |
var //= 1 |
var = var // 1 |
var %= 1 |
var = var % 1 |
var **= 1 |
var = var ** 1 |
让我们练习使用它们。清除 main.py 文件,并添加以下代码,以查看它们如何与字符串、数字和列表一起工作。
## 字符串的增强赋值
greeting = 'Hello'
greeting += ' world!'
print(greeting)
## 数字增 1
number = 1
number += 1
print(number)
## 列表元素复制
my_list = ['item']
my_list *= 3
print(my_list)
从终端运行脚本:
python3 main.py
输出将显示增强赋值的结果:
Hello world!
2
['item', 'item', 'item']
海象运算符 (Walrus Operator)
在这一步,你将学习海象运算符(Walrus Operator)(:=),它正式名称是赋值表达式运算符(Assignment Expression Operator)。该运算符在 Python 3.8 中引入,允许你在一个更大的表达式中将值赋给一个变量。
当需要在计算值后立即使用该值时,它能简化代码。
让我们看看它的实际应用。清除 main.py 文件,并添加以下代码:
## 海象运算符将 "Hello World!" 赋值给 my_var
## 并返回该值,然后该值被打印出来。
print(my_var := "Hello World!")
## 变量 my_var 现在可以被使用了
print(my_var)
## 你也可以在表达式中使用它来重新赋值一个变量
print(my_var := "Hello")
print(my_var)
执行脚本:
python3 main.py
你将看到以下输出,证明变量在同一个表达式中被赋值并返回了其值:
Hello World!
Hello World!
Hello
Hello
数据类型
在这一步,我们将概述 Python 的九种核心内置数据类型。理解数据类型至关重要,因为它们定义了变量可以持有的值种类以及可以对其执行的操作。
| 数据类型 | 示例 | 描述 |
|---|---|---|
| 数字 (Numbers) | ||
int |
-2, 0, 5 |
整数 |
float |
-1.25, 0.0, 1.0 |
带小数点的数字 |
complex |
2+3j |
具有实部和虚部的数字 |
| 文本 (Text) | ||
str |
'a', "Hello!" |
文本和字符 |
| 布尔值 (Boolean) | ||
bool |
True, False |
True 或 False 值 |
| None | ||
NoneType |
None |
表示“无值”或“空” |
| 集合 (Collections) | ||
list |
[1, 2, 3] |
有序、可变(changeable)的集合 |
dict |
{'name': 'Alice', 'age': 30} |
键值对 |
tuple |
(1, 2, 3) |
有序、不可变(unchangeable)的集合 |
set |
{1, 2, 3} |
无序的唯一项集合 |
为了实践这些数据类型,请清除你的 main.py 文件,并添加以下代码。我们将定义不同类型的变量,然后使用内置的 type() 函数打印它们的类型。
## 数字
age = 25 ## int
price = 19.99 ## float
coordinate = 2 + 3j ## complex
## 文本
name = "Alice" ## str
## 布尔值
is_student = True ## bool
## None
result = None ## NoneType
## 集合
scores = [85, 92, 78] ## list
person = {'name': 'Bob', 'age': 30} ## dict
coordinates = (10, 20) ## tuple
unique_ids = {1, 2, 3} ## set
print(type(age))
print(type(price))
print(type(name))
print(type(is_student))
print(type(scores))
print(type(person))
print(type(coordinates))
print(type(unique_ids))
运行脚本以查看每个变量的类型:
python3 main.py
你的输出应该如下所示:
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
<class 'list'>
<class 'dict'>
<class 'tuple'>
<class 'set'>
字符串拼接与复制
在最后这一步,你将学习两个基本的字符串操作:拼接(concatenation)和复制(replication)。
字符串拼接是将字符串连接在一起的过程。在 Python 中,相邻的字符串字面量(string literals)会自动拼接。
字符串复制使用 * 运算符,通过将现有字符串重复多次来创建一个新字符串。
让我们尝试这些操作。清除 main.py 文件,并添加以下代码:
## 字符串拼接:相邻的字符串字面量会自动连接。
## 我们使用 print() 来显示结果。
concatenated_string = 'Alice' 'Bob'
print(concatenated_string)
## 字符串复制:使用 * 运算符将字符串重复多次。
replicated_string = 'Alice' * 5
print(replicated_string)
现在,从终端运行脚本:
python3 main.py
你将看到两个操作的结果:
AliceBob
AliceAliceAliceAliceAlice
这展示了在 Python 中操作字符串是多么容易。
总结
恭喜你完成了本次实验(lab)!你已经迈出了 Python 编程世界的第一步。
在本次实验中,你学习了几个基本概念:
- **数学运算符 (Math Operators)**:你练习了使用
+,*,/, 和**等运算符,并理解了它们的优先级。 - **增强赋值运算符 (Augmented Assignment Operators)**:你发现了
+=和*=这样的快捷方式,可以编写更简洁的代码。 - **海象运算符 (Walrus Operator)**:你了解了
:=运算符,它可以在表达式中为变量赋值。 - **数据类型 (Data Types)**:你了解了 Python 的核心数据类型,包括数字、字符串、布尔值和集合。
- **字符串拼接和复制 (String Concatenation and Replication)**:你学习了如何连接和重复字符串。
这些概念是编写更复杂、更强大的 Python 程序的基础。请继续练习并探索 Python 提供的功能!



