Python 函数、模块、异常处理 超详细入门教程

一、Python 函数(Function)

函数就是把一段代码打包起来,方便重复使用。

1. 定义函数

复制代码
# 定义:def 函数名(参数):
def say_hello(name):
    print(f"你好,{name}!")

2. 调用函数

复制代码
say_hello("小明")  # 输出:你好,小明!

3. 带返回值(return)

复制代码
def add(a, b):
    return a + b  # 返回结果

result = add(3, 5)
print(result)  # 8

4. 默认参数

复制代码
def greet(name="游客"):
    print(f"欢迎,{name}")

greet()          # 欢迎,游客
greet("小红")    # 欢迎,小红

5. 可变参数(*args)

复制代码
def sum_all(*nums):
    total = 0
    for n in nums:
        total += n
    return total

print(sum_all(1,2,3,4))  # 10

二、Python 模块(Module)

模块就是一个 .py 文件,用来存放函数、变量、类,方便代码管理。

1. 自己写一个模块

新建文件 my_utils.py

复制代码
# my_utils.py
def add(a,b):
    return a+b

def minus(a,b):
    return a-b

2. 导入模块使用

复制代码
import my_utils

print(my_utils.add(2,3))  # 5

3. 从模块导入指定函数

复制代码
from my_utils import add
print(add(5,5))  # 10

4. 常用内置模块

复制代码
import math
print(math.sqrt(16))  # 4.0

import random
print(random.randint(1,10))  # 随机数

三、Python 异常处理(Error Handling)

程序出错不会崩溃,而是优雅提示错误。

1. 基本语法

复制代码
try:
    # 可能出错的代码
    num = int(input("请输入数字:"))
except ValueError:
    # 出错了执行这里
    print("你输入的不是数字!")
else:
    # 没出错执行这里
    print("你输入的是:", num)
finally:
    # 无论是否出错,都会执行
    print("程序结束")

2. 捕获多种异常

复制代码
try:
    a = 10 / 0
    list = [1,2]
    print(list[10])
except ZeroDivisionError:
    print("不能除以0")
except IndexError:
    print("下标越界")

3. 抛出异常(主动报错)

复制代码
def check_age(age):
    if age < 0:
        raise ValueError("年龄不能为负数")

check_age(-5)

三部分核心总结

函数

  • def 函数名(): 定义
  • return 返回值
  • 可以带参数、默认参数、可变参数

模块

  • 一个 .py 就是一个模块
  • import 模块名 使用
  • 方便代码复用和管理

异常处理

  • try...except... 捕获错误
  • 程序不会崩溃
  • 可以捕获多种异常、主动抛异常
相关推荐
Csvn6 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽7 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户556918817539 小时前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱1 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei1 天前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
aqi001 天前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
Csvn1 天前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python
金銀銅鐵2 天前
[Python] 从《千字文》中随机挑选汉字
后端·python
cup112 天前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill