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... 捕获错误
  • 程序不会崩溃
  • 可以捕获多种异常、主动抛异常
相关推荐
Thomas.Sir2 分钟前
第45课:TensorFlow|异常检测实战【工业设备数据故障识别模型搭建】
人工智能·python·tensorflow
数商云企8 分钟前
2026年西安电商智能客服开发选数商云企,技术稳交付快
大数据·python
无忧.芙桃14 分钟前
C++内存管理
c语言·开发语言·c++·青少年编程
Patrick在香港16 分钟前
Python 分析香港 AQHI 归档 1644 天:同一天的空气,早上 8 点报 3,下午 5 点报 10
开发语言·python·数据分析·api·restful·数据可视化·开放数据
晴天1618 分钟前
JavaScript 与 Java 垃圾回收机制对比
java·开发语言·javascript
金金计较.19 分钟前
Go语言-2
开发语言·算法·golang
SamChan9020 分钟前
Python批量处理PDF踩坑实录:中文编码、字体内嵌、多栏排版与内存占用
python·单片机·ai·pdf·机器翻译
3Q工具箱 - BraggTroy27 分钟前
Python + PyInstaller 实战:从零打造 10 个 Windows 桌面小工具(附全部踩坑记录与核心代码)
开发语言·windows·python
linnux领域30 分钟前
eNSP 交换机与电脑不在一个网段?用一台 Windows 双网卡做路由,把实验环境彻底打通
windows·华为·电脑·ensp·静态路由·网络实验·ensp模拟器
Wang's Blog41 分钟前
Java框架快速入门: Spring Security+OAuth2之多因子认证逻辑与实体类改造
java·开发语言·spring