目录
[1 基本语句](#1 基本语句)
[1.1 表达式语句](#1.1 表达式语句)
[1.2 赋值语句](#1.2 赋值语句)
[2 控制流语句](#2 控制流语句)
[2.1 条件语句](#2.1 条件语句)
[2.2 循环语句](#2.2 循环语句)
[2.3 流程控制语句](#2.3 流程控制语句)
[1. break语句:退出整个循环体](#1. break语句:退出整个循环体)
[2. continue语句:只跳过本次循环,还会进入下一次循环](#2. continue语句:只跳过本次循环,还会进入下一次循环)
[3. pass语句:用于占位,防止写代码时报语法错误](#3. pass语句:用于占位,防止写代码时报语法错误)
[3 函数相关语句](#3 函数相关语句)
[1. def语句:用于定义函数](#1. def语句:用于定义函数)
[2. return语句:用于返回函数的返回值](#2. return语句:用于返回函数的返回值)
[4 异常处理语句](#4 异常处理语句)
[1. try-except-else-finally](#1. try-except-else-finally)
[2. raise语句:用于主动抛出异常中断程序](#2. raise语句:用于主动抛出异常中断程序)
[3. assert语句:是Python中的一个调试辅助工具,用于在程序中插入调试断言。它用于测试一个条件,如果条件为假,则会引发一个AssertionError异常。](#3. assert语句:是Python中的一个调试辅助工具,用于在程序中插入调试断言。它用于测试一个条件,如果条件为假,则会引发一个AssertionError异常。)
[5 上下文管理语句(with)](#5 上下文管理语句(with))
[6 模块导入语句](#6 模块导入语句)
[1. import语句:导入模块](#1. import语句:导入模块)
[2. as别名:给导入的模块起一个别名,用别名来代替模块名,一方面可以避免不同模块之间出现重复的名称,另一方面可以简化代码](#2. as别名:给导入的模块起一个别名,用别名来代替模块名,一方面可以避免不同模块之间出现重复的名称,另一方面可以简化代码)
[7 类定义语句](#7 类定义语句)
[1. class语句:用于定义一个类](#1. class语句:用于定义一个类)
[2. 类继承:通过在类的后面跟一个括号,继承其括号内的父类,也可以同时继承多个类,只需要用逗号隔开即可](#2. 类继承:通过在类的后面跟一个括号,继承其括号内的父类,也可以同时继承多个类,只需要用逗号隔开即可)
[8 作用域相关语句](#8 作用域相关语句)
[1. global语句:声明全局变量](#1. global语句:声明全局变量)
[2. nonlocal语句:声明使用函数体外层的变量,非全局变量](#2. nonlocal语句:声明使用函数体外层的变量,非全局变量)
[9 其他重要语句](#9 其他重要语句)
[1. del语句:用于删除元素或对象](#1. del语句:用于删除元素或对象)
[2. lambda表达式:用于创建匿名函数,多与其他函数结合使用](#2. lambda表达式:用于创建匿名函数,多与其他函数结合使用)
1 基本语句
1.1 表达式语句
表达式就是一个式子,在终端 中运行会直接展示值,在IDE中运行需要用print才能展示表达式的值。
IDE是什么:IDE是什么❓-CSDN博客
python
# 由表达式构成的语句
3 + 4 # 数学表达式
print("Hello") # 函数调用表达式
1.2 赋值语句
python
# 简单赋值
x = 10 # 将10赋值给变量x
# 多重赋值
a, b = 5, 8 # a=5, b=8
# 链式赋值
x = y = z = 0 # 所有变量都指向0
# 解包赋值
nums = [1, 2, 3]
first, second, third = nums # first=1, second=2, third=3
# 带星号的解包(Python 3.0+)
a, *b, c = [1,2,3,4,5] # a=1, b=[2,3,4], c=5
2 控制流语句
2.1 条件语句
python
# if-elif-else结构
age = 18
if age < 0:
print("年龄无效")
elif age < 18:
print("未成年")
else:
print("成年") # 执行此分支
2.2 循环语句
while循环:
python
count = 0
while count < 3: # 循环条件
print(f"当前计数: {count}")
count += 1 # 修改循环变量
else: # 可选else子句(正常结束时执行)
print("循环结束")
for循环:
python
# 遍历可迭代对象
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit.upper()) # 将每个水果转为大写
# 遍历字典
person = {"name": "Alice", "age": 25}
for key, value in person.items():
print(f"{key}: {value}")
2.3 流程控制语句
1. break语句:退出整个循环体
python
# break用于终止整个循环
for num in range(10):
if num == 5:
break # 当num=5时立即退出整个循环体
print(num) # 输出0-4
2. continue语句:只跳过本次循环,还会进入下一次循环
python
# continue用于跳过当前这一次循环
for num in range(5):
if num == 2:
continue # 跳过数字2
print(num) # 输出0,1,3,4
3. pass语句:用于占位,防止写代码时报语法错误
python
# pass当作占位符,不执行任何操作
def placeholder():
pass # 暂时不实现,只是为了保证语法正确
if True:
pass # 占位,避免空代码块在编写代码时造成语法错误
3 函数相关语句
1. def语句:用于定义函数
python
# def用于定义函数
def greet(name):
"""返回问候语""" # 文档字符串
return f"Hello, {name}!"
print(greet("Alice")) # 调用函数
2. return语句:用于返回函数的返回值
python
def add(a, b):
return a + b # return用于返回值并结束函数执行
result = add(3, 5) # result = 8
4 异常处理语句
1. try-except-else-finally
- try:尝试执行一下这部分代码,可能会出错,所以叫"try"
- except:根据try代码的执行结果来决定是否执行异常处理。常见的异常情形见下文
- else:当try部分的代码执行没有发生异常时,会执行else部分的代码
- finally:无论try部分的代码是否发生异常,这部分代码都会执行
python
try:
# 可能引发异常的代码
result = 10 / 0
except ZeroDivisionError:
# 处理特定异常
print("不能除以零!")
except (TypeError, ValueError) as e:
# 处理多种异常
print(f"类型或值错误: {e}")
except Exception as e:
# 捕获所有其他异常
print(f"发生未知错误: {e}")
else:
# 没有异常发生时执行
print("一切正常!")
finally:
# 无论是否发生异常都会执行
print("清理工作完成")
2. raise语句:用于主动抛出异常中断程序
python
# raise用于主动抛出异常
def validate_age(age):
if age < 0:
raise ValueError("年龄不能为负数") # 抛出异常
return age
validate_age(-5) # 触发ValueError
3. assert语句:是Python中的一个调试辅助工具,用于在程序中插入调试断言。它用于测试一个条件,如果条件为假,则会引发一个AssertionError
异常。
python
# 调试断言
x = 5
assert x > 0, "x必须为正数" # 条件为False时触发AssertionError
说明: 关于异常部分的知识点,在后续的文章中还会进一步展开说明。
5 上下文管理语句(with)
python
# 自动资源管理
with open("file.txt", "r") as f: # 自动关闭文件
content = f.read()
print(content)
6 模块导入语句
1. import语句:导入模块
python
import math # 导入整个模块
print(math.sqrt(16)) # 4.0
from datetime import datetime # 导入特定对象
now = datetime.now()
2. as别名:给导入的模块起一个别名,用别名来代替模块名,一方面可以避免不同模块之间出现重复的名称,另一方面可以简化代码
python
import numpy as np # 使用别名
arr = np.array([1,2,3])
7 类定义语句
1. class语句:用于定义一个类
python
class Person:
"""人类""" # 类文档字符串
def __init__(self, name):
self.name = name # 构造函数
def greet(self):
return f"Hello, I'm {self.name}"
alice = Person("Alice")
print(alice.greet()) # Hello, I'm Alice
2. 类继承:通过在类的后面跟一个括号,继承其括号内的父类,也可以同时继承多个类,只需要用逗号隔开即可
python
class Student(Person): # 继承Person类
def __init__(self, name, major):
super().__init__(name) # 调用父类构造
self.major = major
def study(self):
return f"{self.name} is studying {self.major}"
说明: 其中关于类相关的知识在后续的文章中还会进一步展开说明。
8 作用域相关语句
1. global语句:声明全局变量
python
x = 10
def modify_global():
global x # 声明使用全局变量
# 如果不加global,在函数内创建的变量就是局部变量,无法访问函数体外的变量
x = 20
modify_global()
print(x) # 20
2. nonlocal语句:声明使用函数体外层的变量,非全局变量
python
def outer():
x = 10
def inner():
nonlocal x # 声明使用外层(非全局)变量
x = 20
inner()
print(x) # 20
9 其他重要语句
1. del语句:用于删除元素或对象
python
lst = [1,2,3]
del lst[1] # 删除列表索引1的元素(lst变为[1,3])
del lst # 删除整个列表对象
2. lambda表达式:用于创建匿名函数,多与其他函数结合使用
python
# 创建匿名函数
square = lambda x: x**2
print(square(5)) # 25
lambda函数的使用详解见:Python扩展知识详解:lambda函数-CSDN博客
小结
Python 的语句体系涵盖以下核心类型:
类别 | 包含语句 |
---|---|
基本操作 | 赋值(=)、表达式、注释(#) |
流程控制 | if/elif/else、for、while |
循环控制 | break、continue、else(循环用) |
函数相关 | def、return、yield、lambda |
异常处理 | try/except/else/finally、raise |
面向对象 | class、super、@装饰器 |
模块管理 | import、from...import、as |
资源管理 | with...as |
调试断言 | assert |
作用域管理 | global、nonlocal |
如果您觉得本文章对您有帮助,别忘了点赞、收藏加关注,更多干货内容将持续发布,您的支持就是作者更新最大的动力。本专栏将持续更新,有任何问题都可以在评论区讨论