博客
关于我
python基础之--包和模块
阅读量:797 次
发布时间:2023-03-07

本文共 2525 字,大约阅读时间需要 8 分钟。

Python基础之–包和模块

文章目录

一、模块

1.1 基本概念

  • 定义:模块是一个Python文件,文件名通常以.py结尾(如model1.py)。
  • 作用:用于组织代码,避免代码重复,提高复用性。
  • 使用:通过import语句导入模块中的内容。

1.2 定义模块

一个简单的模块示例:

def runnianjisuan(year):
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print(year, "是闰年")
else:
print(year, "不是闰年")
return
def add(a, b):
return a + b
def sub(a, b):
return a - b
if __name__ == '__main__':
year = int(input("请输入年份:"))
runnianjisuan(year)

1.3 导入模块

  • 语法

    • import 模块名 [as 模块新名字]
    • from 模块名 import 模块属性名 [as 属性新名]
    • from 模块名 import *
    • import 模块名 as 别名
    • from 模块名 import 函数名 as 别名
  • 示例

    # 模块
    import model1
    def fn():
    re = model1.runnianjisuan(1978)
    print(re)
    fn()

1.4 内部属性

  • __file__:绑定模块的路径
  • __name__:绑定模块的名称
  • 如果是主模块(首先启动的模块)则绑定__main__

1.5 常见模块

以下是一些常用的Python模块及其功能:

模块名称 功能描述 官方文档链接
math 数学运算 math模块
os 操作系统接口 os模块
os.path 路径相关操作 os.path模块
datetime 日期和时间 datetime模块
random 随机数生成 random模块
time 时间测量 time模块

1.6 第三方模块

由社区或公司开发,通过包管理工具(如pip)安装,用于实现更高级或更具体的功能。

模块名称 功能描述 示例
numpy 数值计算 import numpy as np<br>array = np.array([1, 2, 3])<br>print(array.mean())
pandas 数据分析 import pandas as pd<br>df = pd.read_csv('data.csv')
matplotlib 数据可视化 import matplotlib.pyplot as plt<br>plt.plot(x, y)
requests HTTP请求处理 import requests<br>response = requests.get('http://example.com')
flask Web应用框架 from flask import Flask<br>app = Flask(__name__)

1.7 自定义模块

用户自己编写的模块,用于复用代码。文件名以.py结尾,存放自定义的函数、类等。

def runnianjisuan(year):
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print(year, "是闰年")
else:
print(year, "不是闰年")
return
def add(a, b):
return a + b
def sub(a, b):
return a - b
if __name__ == '__main__':
year = int(input("请输入年份:"))
runnianjisuan(year)

1.8 模块与包的区别

模块
一个Python文件 一个包含__init__.py的文件夹
提供基本功能单元 用于组织多个模块
文件名为.py 目录名

二、包

1.基本概念

  • 定义:包是包含多个模块的目录。通常,一个包的目录下必须包含一个__init__.py文件,文件名可以为空,但建议包含初始化代码。
  • 作用:用于组织模块的集合,形成层次化的结构,便于管理大型项目。

2.导入包和子包

  • 导入规则
    • import 包名 [as 包别名]
    • import 包名.模块名 [as 模块新名]
    • import 包名.子包名.模块名 [as 模块新名]
    • from 包名 import 模块名 [as 模块新名]
    • from 包名.子包名 import 模块名 [as 模块新名]
    • from 包名.子包名.模块名 import 属性名 [as 属性新名]
    • from 包名 import *
    • from 包名.模块名 import *

2.3 __init__.py

  • 用于初始化Python包或模块,主要作用包括:
    • 标识包目录
    • 执行初始化代码
    • 控制包的导入行为(通过__all__变量)
    • 提供包级别的命名空间
    • 批量导入模块
# __init__.py 文件示例
import os
import sys
import datetime
package_variable = "This is a package variable"
__all__ = ['module1', 'module2']
print("Initializing mypackage")

3.模块与包的区别

属性 模块
内容 一个Python文件 包含多个模块的目录
是否需要__init__.py 不需要(如果文件名以.py结尾) 必须包含__init__.py文件
导入方式 import 模块名 import 包名 [as 包别名]
示例 import model1 import mypackage

转载地址:http://loofk.baihongyu.com/

你可能感兴趣的文章
Python 从数据库中存储和检索密码的最安全方法
查看>>
Python语言及其应用 - 知识点遍历
查看>>
Python 优化提速的 8 个小技巧
查看>>
Python 余弦相似度与皮尔逊相关系数 计算
查看>>
python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
查看>>
python 使用filetype校验文件
查看>>
Python 使用flush函数将缓冲区数据立即写磁盘
查看>>
python 使用in判断不准确,in不好使
查看>>
Python 使用pandas 进行查询和统计详解
查看>>
Redis 配置文件redis.conf详细解释
查看>>
python网络爬虫(2)——scrapy框架的基础使用
查看>>
python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
查看>>
Python 使用哈希函数用于加密
查看>>
Python 依赖管理的革新——Poetry 深度解析
查看>>
python 保留精度及增加去除数字的千位分隔符(金额化数字)
查看>>
python 倒计时 9,8,7,。。。。。。0
查看>>
Python 入门开发学习笔记之数据的增删改查
查看>>
Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
查看>>
Python 八大排序算法合集
查看>>
python 关于epoll的学习
查看>>