Python函数与模块笔记

发布于:2025-05-01 ⋅ 阅读:(19) ⋅ 点赞:(0)

Python函数与模块笔记

目录

  1. 函数
    • 无参函数
    • 带参函数
    • 变量作用域
    • Lambda函数
    • 常用内置函数
  2. 模块与包
    • 模块的定义与导入
    • 包的使用
    • 常用模块(keyword、random、sys、time)

一、函数

1. 无参函数

  • 定义语法

def 函数名():

    代码块

    return [表达式]  # return则默认返回None

  • 示例

def add():

    op1 = 10

    op2 = 20

    rt = op1 + op2

    print(op1, '+', op2, '=', rt)

    return  # 返回None

add()  # 输出:10 + 20 = 30

  • 注意事项
    • 函数定义需在调用之前。
    • 函数体代码需正确缩进。
    • 函数名不能以数字开头。

2. 带参函数

  • 定义语法

def 函数名(形参列表):

    代码块

    return [表达式]

  • 参数传递方式
    • 位置参数:按顺序匹配形参。

def aa(x, y):

    print(x, y)

aa(10, 6)  # 输出:10 6

    • 关键字参数:指定形参名,顺序无关。

aa(x=10, y=6)  # 输出:10 6

aa(y=6, x=10)  # 输出:10 6

  • 默认参数
    • 默认参数需在位置参数之后。

def aa(x, y=1):  # 正确

    print(x, y)

def aa(x=1, y):  # 错误

    pass

  • 综合示例(计算器)

def add(x, y):

    return x + y

def subtract(x, y):

    return x - y

# 用户输入与调用逻辑(部分代码)

choice = int(input("输入运算选择(1/2/3/4):"))

num1 = int(input("输入第一个数字: "))

num2 = int(input("输入第二个数字: "))

if choice == 1:

    print(num1, "+", num2, "=", add(num1, num2))


3. 变量作用域

  • 全局变量:模块顶层定义,所有函数可访问。
  • 局部变量:函数内部定义,仅函数内有效。
  • 同名优先级:局部变量 > 全局变量。
  • 示例

name = 'Tim'  # 全局变量

def f1():

    age = 18  # 局部变量

    print(age, name)  # 输出:18 Tim

def f2():

    age = 19  # 局部变量

    print(age, name)  # 输出:19 Tim

  • global关键字:在函数内声明全局变量。

def f1():

    global name

    name = 'Tim'  # 修改全局变量


4. Lambda函数

  • 语法

lambda 参数列表: 表达式

  • 示例

sum1 = lambda x, y: x + y

print(sum1(3, 4))  # 输出:7

  • 限制
    • 仅支持单行表达式,不能包含复杂逻辑(如循环、条件分支)。

5. 常用内置函数

函数

说明

示例

abs(x)

返回绝对值

abs(-10) → 10

bool(x)

转换为布尔值

bool(0) → False

float(x)

转换为浮点数

float('25') → 25.0

int(x)

转换为整数

int('100') → 100

range()

生成整数序列

list(range(0,5)) → [0,1,2,3,4]

sum()

求和

sum([1,2,3]) → 6

max()

返回最大值

max([6,2,12]) → 12

min()

返回最小值

min([6,2,12]) → 2


二、模块与包

1. 模块

  • 定义:包含函数/类的.py文件。
  • 导入方式
    • 导入整个模块:

import myModule

myModule.add(2, 3)

    • 导入指定函数:

from myModule import add, mul

add(2, 3)

    • 使用别名:

from myModule import add as add1


2.

  • 定义:包含__init__.py的目录,用于组织模块。
  • 导入子模块

import subproject.submodel

subproject.submodel.add(1, 3)

  • __init__.py作用:初始化包(可包含公共代码)。

3. 常用模块

1keyword模块

  • 检查关键字:

import keyword

print(keyword.iskeyword("if"))  # True

2random模块

  • 常用方法:

import random

print(random.randint(1, 100))    # 随机整数

print(random.choice(['a', 'b'])) # 随机选择元素

random.shuffle(list1)            # 打乱列表顺序

3sys模块

  • 系统属性:

import sys

print(sys.version)   # Python版本

print(sys.path)      # 模块搜索路径

4time模块

  • 时间处理:

import time

print(time.time())        # 时间戳(秒)

print(time.ctime())       # 字符串时间

t = time.localtime()      # 时间元组

print(t.tm_year)          # 年份


注意事项

  1. 函数定义顺序:必须先定义后调用。
  2. 参数匹配:实参个数需与形参一致。
  3. 全局变量慎用:避免意外修改。
  4. 模块导入优化:推荐在顶层导入。

网站公告

今日签到

点亮在社区的每一天
去签到