Python入门(3):语句

目录

[1 基本语句](#1 基本语句)

[1.1 表达式语句](#1.1 表达式语句)

[1.2 赋值语句](#1.2 赋值语句)

[2 控制流语句](#2 控制流语句)

[2.1 条件语句](#2.1 条件语句)

[2.2 循环语句](#2.2 循环语句)

while循环:

for循环:

[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

如果您觉得本文章对您有帮助,别忘了点赞、收藏加关注,更多干货内容将持续发布,您的支持就是作者更新最大的动力。本专栏将持续更新,有任何问题都可以在评论区讨论

相关推荐
Python大数据分析@8 分钟前
python 常用的6个爬虫第三方库
爬虫·python·php
水w10 分钟前
【Android Studio】如何卸载干净(详细步骤)
android·开发语言·android studio·activity
weixin_3077791310 分钟前
判断HiveQL语句为建表语句的识别函数
开发语言·数据仓库·hive·c#
一顿操作猛如虎,啥也不是!15 分钟前
JAVA-Spring Boot多线程
开发语言·python
v维焓24 分钟前
C++(思维导图更新)
开发语言·c++·算法
jiet_h25 分钟前
深入解析KSP(Kotlin Symbol Processing):现代Android开发的新利器
android·开发语言·kotlin
斯内科26 分钟前
Python入门(7):Python序列结构-字典
python·字典·dictionary
_未知_开摆27 分钟前
uniapp APP端在线升级(简版)
开发语言·前端·javascript·vue.js·uni-app
云徒川27 分钟前
【设计模式】过滤器模式
windows·python·设计模式
花月C32 分钟前
Spring IOC:容器管理与依赖注入秘籍
java·开发语言·rpc