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... 捕获错误
  • 程序不会崩溃
  • 可以捕获多种异常、主动抛异常
相关推荐
笨鸟先飞,勤能补拙6 小时前
AI 赋能网络安全:技术全景、成熟度评估与实战案例
人工智能·python·安全·web安全·网络安全·sqlite·github
微学AI6 小时前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
长和信泰光伏储能7 小时前
京津冀光伏发电:绿色能源的未来之路
python·能源
豆瓣鸡7 小时前
算法日记 - Day3
java·开发语言·算法
浦信仿真大讲堂7 小时前
从重复操作到自动化闭环:如何让 CST 与 Python 真正协同起来
python·自动化·cst·仿真软件·达索软件
韭菜炒鸡肝天8 小时前
VTK开发笔记(一):VTK介绍,Qt..+VSx+VTK.编译
开发语言·笔记·qt
Gu Gu Study8 小时前
ScoutLoop开放域深度研究引擎(agent的初步设计想法)
人工智能·python
Aaron - Wistron8 小时前
Web API C# (Furion版)带 单元测试
开发语言·后端·c#
笨鸟先飞,勤能补拙8 小时前
AI 赋能网络安全领域深度剖析
网络·人工智能·windows·安全·web安全·网络安全·github
卷无止境8 小时前
写代码这件事,到底该讲究点什么?
后端·python