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... 捕获错误
  • 程序不会崩溃
  • 可以捕获多种异常、主动抛异常
相关推荐
名字还没想好☜2 分钟前
Next.js 中间件实战:鉴权、重定向与 A/B 分流
开发语言·前端·javascript·中间件·react·next.js
乐观勇敢坚强的老彭20 分钟前
C++浮点数使用注意事项
开发语言·c++
wuyk55528 分钟前
38.什么是C语言?从语法到工程落地的工程师视角解读
c语言·开发语言·stm32·单片机·mcu·51单片机
库克克31 分钟前
【C++ 】内联函数
java·开发语言·c++
zh_xuan37 分钟前
java 虚拟线程
java·开发语言·虚拟线程
jason成都1 小时前
RTKLIB Java 移植踩坑复盘:卡尔曼滤波核心逻辑修复与滑坡场景实测验证
java·开发语言
中微极客1 小时前
TensorFlow模型量化实战:从精度到延迟的优化指南
人工智能·python·tensorflow
一次旅行1 小时前
【AI工具】Rust-Based CLI:用 xargs 和并行加速你的 Linux 日常
linux·开发语言·rust
老毛肚1 小时前
juc线程通信
java·开发语言·jvm
跨境数据猎手2 小时前
反向海淘实战|独立站搭建+国内电商API对接
开发语言·爬虫·架构