博客
关于我
python基础之--包和模块
阅读量:799 次
发布时间: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 协程以及事件循环的问题,怎么知道 IO 读取结束了呢?...
查看>>
Python十进制&;包提供错误的结果
查看>>
Python化身“安全老中医”:一键搞定工控系统漏洞,从零基础到精通,收藏这篇就够了!
查看>>
Python加速运行技巧
查看>>
python办公自动化基础遍历文件夹
查看>>
python办公自动化基础输出文件和文件夹
查看>>
python办公自动化基础搜索文件
查看>>
python知识:@classmethod和@staticmethod的异同
查看>>
python前端之css
查看>>
Python制作进度条,原来有这么多方法
查看>>
Python制作简单的学生成绩管理系统
查看>>
python制作甘特图的基本知识(附Demo)
查看>>
python制作一个简单的服务器,【Python】 做一个简单的 http 服务器
查看>>
Python到底能做什么?它的优点在哪?
查看>>
python利用pytorch库导出图像分割算子
查看>>
python利用pyshark监听网卡来抓包其中pyshark中摸索的一些可用参数
查看>>
python利用excel分析过杀漏失
查看>>
python判断汉字数目
查看>>
python判断文件是空的,如果是空的,就删除
查看>>
python判断密码是否正确_python密码判断是否符合要求的方法
查看>>