Python基础语法:函数、模块

一、函数:代码复用的基石

1. 函数的定义与调用

函数用于封装重复操作的代码块,通过参数接收输入,并返回结果。

# 定义函数
def greet(name):
    return f"你好,{name}!"

# 调用函数
message = greet("小明")
print(message)  # 输出:你好,小明!

2. 参数与返回值

  • 位置参数:按顺序传递参数。

  • 默认参数:为参数提供默认值(需定义在参数列表末尾)。

  • 返回值:使用 return 返回结果,若无返回值则默认返回 None

def calculate_area(width, height=2):  # height是默认参数
    area = width * height
    return area

print(calculate_area(3))     # 输出6(使用默认height=2)
print(calculate_area(3, 4))  # 输出12

3. 函数的作用域

  • 局部变量:函数内定义的变量,仅在函数内部有效。

  • 全局变量:函数外定义的变量,需用 global 关键字声明修改。

count = 10  # 全局变量

def update_count():
    global count  # 声明使用全局变量
    count += 5

update_count()
print(count)  # 输出15

二、模块与包:代码的组织方式

1. 模块的导入

模块是包含Python代码的 .py 文件,可通过 import 导入。

# 导入整个模块
import math
print(math.sqrt(16))  # 输出4.0

# 导入特定功能
from random import randint
print(randint(1, 10))  # 生成1到10的随机整数

# 给模块起别名
import numpy as np

2. 自定义模块

创建一个 utils.py 文件:

# utils.py
def add(a, b):
    return a + b

def multiply(a, b):
    return a * b

在另一个文件中使用:

import utils
print(utils.add(2, 3))  # 输出5

3. 包(Package)

包是包含多个模块的文件夹,需包含一个 __init__.py 文件(可以为空)。目录结构示例:

my_package/
    __init__.py
    module1.py
    module2.py

导入方式:

from my_package import module1

4. __name__ 的作用

当模块作为主程序运行时,__name__ 的值为 "__main__",否则为模块名。常用于模块测试:

# my_module.py
def test():
    print("测试函数")

if __name__ == "__main__":  # 直接运行该文件时执行
    test()

五、综合案例:简易计算器

# 定义计算函数
def calculate(a, b, operator):
    if operator == "+":
        return a + b
    elif operator == "-":
        return a - b
    elif operator == "*":
        return a * b
    elif operator == "/":
        if b == 0:
            raise ZeroDivisionError("除数不能为零")
        return a / b
    else:
        raise ValueError("无效的运算符")

# 主程序
try:
    num1 = float(input("请输入第一个数字:"))
    num2 = float(input("请输入第二个数字:"))
    op = input("请输入运算符(+、-、*、/):")
    result = calculate(num1, num2, op)
    print(f"结果:{result}")
except ValueError as e:
    print(f"输入错误:{e}")
except ZeroDivisionError as e:
    print(e)

五、总结与练习

核心知识点

  1. 函数:封装代码逻辑,提高复用性。

  2. 模块与包:组织代码结构,实现功能模块化。

  3. 错误处理:增强程序健壮性,优雅处理异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值