小编已经为大家准备好Python万字长文基础教程学习资料,关注公众号“予贝AIGC”点击下方Python菜单可以直接获取!!!
第2章 Python语法基础
本章深入探讨Python的核心语法基础,包括变量和数据类型、运算符和表达式,以及控制流结构。这些概念是Python编程的基石,掌握它们对于编写有效且高效的Python代码至关重要。通过本章的学习,读者将能够理解Python的基本语法规则,为进一步学习更高级的Python概念打下坚实基础。
2.1 变量和数据类型
变量是编程中存储数据的基本单位,而数据类型则定义了变量可以存储的数据种类。在Python中,变量无需显式声明类型,这得益于Python的动态类型特性。
Python中的变量命名遵循一定规则:必须以字母或下划线开头,后跟字母、数字或下划线。变量名区分大小写,不能使用Python的保留关键字。
Python支持多种基本数据类型:
- 整数(int):表示正整数、负整数和零。
- 浮点数(float):表示带小数点的数字。
- 字符串(str):表示文本数据,用单引号或双引号括起。
- 布尔值(bool):表示真(True)或假(False)。
此外,Python还支持复数类型(complex)。
在Python中,可以使用赋值语句创建变量:
# 整数
age = 25# 浮点数
height = 1.75# 字符串
name = "Alice"# 布尔值
is_student = True# 复数
complex_num = 3 + 4j# 打印变量类型
print(type(age)) # <class 'int'>
print(type(height)) # <class 'float'>
print(type(name)) # <class 'str'>
print(type(is_student)) # <class 'bool'>
print(type(complex_num))# <class 'complex'>
在上面的代码中,使用type()
函数可以查看变量的类型。Python的动态类型特性允许随时改变变量的类型:
x = 10
print(type(x)) # <class 'int'>x = "Hello"
print(type(x)) # <class 'str'>
Python提供了多种内置函数用于类型转换:
# 整数转浮点数
float_num = float(10)
print(float_num) # 10.0# 浮点数转整数(截断小数部分)
int_num = int(3.14)
print(int_num) # 3# 数字转字符串
str_num = str(42)
print(str_num) # "42"# 字符串转数字
num_from_str = int("100")
print(num_from_str) # 100
需要注意的是,并非所有类型转换都是安全的。例如,将非数字字符串转换为整数会引发ValueError
。在进行类型转换时,应当谨慎处理可能的异常。
2.2 运算符和表达式
运算符是执行特定操作的符号,而表达式则是由运算符和操作数组成的代码片段。Python支持多种类型的运算符,包括算术运算符、比较运算符、逻辑运算符、赋值运算符和位运算符等。
2.2.1 算术运算符
Python支持基本的算术操作:
a = 10
b = 3print(a + b) # 加法:13
print(a - b) # 减法:7
print(a * b) # 乘法:30
print(a / b) # 除法:3.3333333333333335
print(a // b) # 整除:3
print(a % b) # 取余:1
print(a ** b) # 幂运算:1000
Python中的除法运算/
总是返回浮点数结果。如果需要整数结果,可以使用整除运算符//
。
2.2.2 比较运算符
比较运算符用于比较两个值,返回布尔结果:
x = 5
y = 10print(x == y) # 等于:False
print(x != y) # 不等于:True
print(x < y) # 小于:True
print(x > y) # 大于:False
print(x <= y) # 小于等于:True
print(x >= y) # 大于等于:False
2.2.3 逻辑运算符
逻辑运算符用于组合条件:
p = True
q = Falseprint(p and q) # 与:False
print(p or q) # 或:True
print(not p) # 非:False
Python的逻辑运算符支持短路求值,这意味着在某些情况下,表达式的右侧可能不会被求值。
2.2.4 赋值运算符
除了基本的赋值运算符=
,Python还提供了组合赋值运算符:
n = 5
n += 3 # 等价于 n = n + 3
print(n) # 8n *= 2 # 等价于 n = n * 2
print(n) # 16
这些组合赋值运算符可以使代码更简洁。
2.2.5 位运算符
Python支持对整数进行位级操作:
a = 60 # 二进制:0011 1100
b = 13 # 二进制:0000 1101print(a & b) # 按位与:12
print(a | b) # 按位或:61
print(a ^ b) # 按位异或:49
print(~a) # 按位取反:-61
print(a << 2) # 左移:240
print(a >> 2) # 右移:15
位运算在需要进行底层操作时非常有用,如在密码学或图形处理中。
2.2.5 运算符优先级
Python中的运算符遵循特定的优先级规则。可以使用括号()
来明确指定运算顺序:
result = 2 + 3 * 4
print(result) # 14result = (2 + 3) * 4
print(result) # 20
了解运算符优先级有助于编写清晰、无歧义的表达式。
2.3 控制流
控制流结构允许根据条件执行不同的代码块或重复执行某些操作。Python提供了三种主要的控制流结构:条件语句(if-elif-else)、for循环和while循环。
2.3.1 条件语句
条件语句用于根据特定条件执行不同的代码块:
age = 20if age < 18:print("未成年")
elif age >= 18 and age < 65:print("成年人")
else:print("老年人")
Python使用缩进来定义代码块,这是Python独特的语法特征。每个条件块应当保持一致的缩进级别。
条件语句可以嵌套使用,但过多的嵌套可能导致代码难以理解和维护:
score = 85
attendance = 90if score >= 60:if attendance >= 80:print("通过课程")else:print("成绩合格但出勤率不足")
else:print("未通过课程")
2.3.2 for循环
for循环用于遍历序列(如列表、元组、字符串)或其他可迭代对象:
fruits = ["苹果", "香蕉", "橙子"]for fruit in fruits:print(fruit)# 使用range()函数生成数字序列
for i in range(5):print(i) # 打印0到4
range()函数是一个强大的工具,可以用来生成数字序列。它可以接受一个、两个或三个参数:
# range(stop)
for i in range(3):print(i) # 0, 1, 2# range(start, stop)
for i in range(2, 5):print(i) # 2, 3, 4# range(start, stop, step)
for i in range(0, 10, 2):print(i) # 0, 2, 4, 6, 8
2.3.3 while循环
while循环在条件为真时重复执行代码块:
count = 0while count < 5:print(count)count += 1
while循环需要特别注意避免无限循环。确保循环条件最终会变为假,或者使用break语句在适当的时候退出循环。
2.3.4 循环控制
语句
Python提供了几个用于控制循环执行的语句:
- break:立即退出最内层的循环
- continue:跳过当前迭代,继续下一次迭代
- else:当循环正常完成时执行(即没有被break语句中断)
for i in range(5):if i == 3:breakprint(i)
# 输出:0, 1, 2for i in range(5):if i == 3:continueprint(i)
# 输出:0, 1, 2, 4for i in range(3):print(i)
else:print("循环正常完成")
# 输出:0, 1, 2, 循环正常完成
这些控制语句增强了循环的灵活性,允许更精细地控制程序的执行流程。
本章深入探讨了Python的核心语法基础,包括变量和数据类型、运算符和表达式,以及控制流结构。这些概念构成了Python编程的基础,为编写清晰、高效的Python代码奠定了基础。通过理解这些基本概念,读者将能够开始构建简单的Python程序,并为学习更高级的Python特性做好准备。