Python 基础

PythonBeginner
立即练习

介绍

欢迎来到 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 提供的功能!