第2章:Python 基础语法
2.1 Python 的语法特点
Python 的语法有以下特点:
- 简洁明了:Python 代码通常比其他语言更简洁
- 强制缩进:使用缩进来表示代码块,而不是大括号
- 动态类型:变量无需声明类型
- 换行分隔:语句通常以换行结束
- 冒号分隔:代码块开始前使用冒号
- 注释:使用
#进行单行注释 - 多行语句:使用反斜杠
\或括号来表示多行语句 - 字符串:支持单引号、双引号和三引号
2.2 注释
注释是代码中不执行的部分,用于解释代码的功能和逻辑。
单行注释
使用 # 来创建单行注释:
# 这是一个单行注释
print("Hello, Python!") # 这也是一个注释
多行注释
使用三引号 ''' 或 """ 来创建多行注释:
'''
这是一个多行注释
可以跨越多行
用于解释复杂的代码
'''
print("Hello, Python!")
"""
这也是一个多行注释
使用双引号
"""
print("Welcome!")
2.3 变量和赋值
变量是用于存储数据的容器。在 Python 中,变量不需要声明类型,直接赋值即可。
变量命名规则
- 变量名只能包含字母、数字和下划线
- 变量名不能以数字开头
- 变量名区分大小写
- 变量名不能使用 Python 关键字
- 变量名应具有描述性
赋值语句
使用 = 运算符来赋值:
# 基本赋值
x = 10
y = "Hello"
# 多变量赋值
a, b, c = 1, 2, 3
# 多重赋值
x = y = z = 0
# 交换变量
a, b = b, a
变量类型
Python 是动态类型语言,变量的类型会根据赋值自动确定:
x = 10 # 整数
y = 3.14 # 浮点数
z = "Hello" # 字符串
b = True # 布尔值
2.4 缩进和代码块
Python 使用缩进来表示代码块,这是 Python 的一个重要特点。
缩进规则
- 缩进通常使用 4 个空格(推荐)或 1 个制表符
- 同一代码块中的语句必须具有相同的缩进
- 不同代码块使用不同的缩进级别
代码块示例
if x > 0:
print("x is positive") # 缩进的代码块
print("This is also part of the block")
print("This is outside the block")
for i in range(5):
print(i) # 缩进的代码块
if i == 2:
print("i is 2") # 更深层次的缩进
2.5 输入输出
输出
使用 print() 函数来输出内容:
# 输出字符串
print("Hello, Python!")
# 输出变量
x = 10
print(x)
# 输出多个值
print("The value of x is", x)
# 格式化输出
print(f"The value of x is {x}") # f-string
print("The value of x is {}".format(x)) # format 方法
print("The value of x is %d" % x) # 旧式格式化
# 控制输出格式
print("Hello", end=" ") # 不换行
print("World")
print("a", "b", "c", sep=", ") # 指定分隔符
输入
使用 input() 函数来获取用户输入:
# 获取字符串输入
name = input("What's your name? ")
print(f"Hello, {name}!")
# 获取数值输入
age = int(input("How old are you? "))
print(f"You are {age} years old")
# 获取浮点数输入
height = float(input("How tall are you? (in meters) "))
print(f"Your height is {height} meters")
2.6 基本操作符
算术操作符
| 操作符 | 描述 | 示例 |
|---|---|---|
+ | 加法 | x + y |
- | 减法 | x - y |
* | 乘法 | x * y |
/ | 除法(结果为浮点数) | x / y |
// | 整除(结果为整数) | x // y |
% | 取模(余数) | x % y |
** | 幂运算 | x ** y |
x = 10
y = 3
print(x + y) # 13
print(x - y) # 7
print(x * y) # 30
print(x / y) # 3.3333333333333335
print(x // y) # 3
print(x % y) # 1
print(x ** y) # 1000
比较操作符
| 操作符 | 描述 | 示例 |
|---|---|---|
== | 等于 | x == y |
!= | 不等于 | x != y |
> | 大于 | x > y |
< | 小于 | x < y |
>= | 大于等于 | x >= y |
<= | 小于等于 | x <= y |
x = 10
y = 3
print(x == y) # False
print(x != y) # True
print(x > y) # True
print(x < y) # False
print(x >= y) # True
print(x <= y) # False
逻辑操作符
| 操作符 | 描述 | 示例 |
|---|---|---|
and | 逻辑与 | x and y |
or | 逻辑或 | x or y |
not | 逻辑非 | not x |
x = True
y = False
print(x and y) # False
print(x or y) # True
print(not x) # False
print(not y) # True
赋值操作符
| 操作符 | 描述 | 示例 |
|---|---|---|
= | 赋值 | x = y |
+= | 加赋值 | x += y |
-= | 减赋值 | x -= y |
*= | 乘赋值 | x *= y |
/= | 除赋值 | x /= y |
//= | 整除赋值 | x //= y |
%= | 取模赋值 | x %= y |
**= | 幂赋值 | x **= y |
x = 10
x += 5 # 等同于 x = x + 5
print(x) # 15
x *= 2 # 等同于 x = x * 2
print(x) # 30
2.7 基本数据类型
Python 有几种基本的数据类型:
- 整数(int):如 1, 2, 3
- 浮点数(float):如 3.14, 2.5
- 字符串(str):如 "Hello", 'World'
- 布尔值(bool):True, False
- None:表示空值
# 整数
x = 10
type(x) # int
# 浮点数
y = 3.14
type(y) # float
# 字符串
z = "Hello"
type(z) # str
# 布尔值
b = True
type(b) # bool
# None
n = None
type(n) # NoneType
2.8 类型转换
Python 提供了内置函数来进行类型转换:
# 转换为整数
x = int(3.14) # 3
x = int("10") # 10
# 转换为浮点数
y = float(10) # 10.0
y = float("3.14") # 3.14
# 转换为字符串
z = str(10) # "10"
z = str(3.14) # "3.14"
z = str(True) # "True"
# 转换为布尔值
b = bool(0) # False
b = bool(1) # True
b = bool("Hello") # True
b = bool("") # False
b = bool(None) # False
2.9 常见语法错误
缩进错误
# 错误示例
if x > 0:
print("x is positive") # 缺少缩进
# 正确示例
if x > 0:
print("x is positive") # 正确缩进
语法错误
# 错误示例
print("Hello) # 缺少闭合引号
# 正确示例
print("Hello") # 正确的引号闭合
名称错误
# 错误示例
print(X) # 变量名大小写错误
# 正确示例
x = 10
print(x) # 正确的变量名
2.10 练习
- 变量练习:创建变量存储你的姓名、年龄和身高,然后输出它们
- 算术练习:计算 10 + 5, 10 - 5, 10 * 5, 10 / 5, 10 // 3, 10 % 3, 2 ** 3
- 输入输出练习:编写一个程序,询问用户的姓名和年龄,然后输出 "Hello, [姓名]! You are [年龄] years old."
- 条件练习:编写一个程序,判断一个数是正数、负数还是零
- 注释练习:为你的代码添加适当的注释
2.11 小结
本章我们学习了:
- Python 的语法特点
- 如何添加注释
- 变量和赋值
- 缩进和代码块
- 输入输出
- 基本操作符
- 基本数据类型
- 类型转换
- 常见语法错误
现在你已经掌握了 Python 的基础语法,可以开始学习 Python 的数据类型了!