当前位置: 首页> 汽车> 时评 > html商品展示页面_北京疫情最新真实消息_seo快速排名案例_今天微博热搜前十名

html商品展示页面_北京疫情最新真实消息_seo快速排名案例_今天微博热搜前十名

时间:2025/7/20 18:32:24来源:https://blog.csdn.net/m0_73338216/article/details/146479021 浏览次数: 0次
html商品展示页面_北京疫情最新真实消息_seo快速排名案例_今天微博热搜前十名

python基础之–包和模块

文章目录

  • python基础之--包和模块
  • 一、模块
    • 1.1 基本概念
    • 1.2定义模块
    • 1.3导入模块
    • 1.4内部属性
    • 1.5 常见模块
    • 1.6 第三方模块
    • 1.7自定义模块
    • 1.8总结对比
  • 二、包
    • 1.基本概念
    • 2.导入包和子包
    • 2.3 \_\_init\_\_.py
  • 三,模块与包的区别


一、模块

1.1 基本概念

  • 定义:模块是一个Python文件,每个 . p y .py .py 文件就是一个模块。
  • 作用:用于组织代码,避免代码重复,提高复用性。
  • 使用:通过 i m p o r t import import 语句导入模块中的内容。

1.2定义模块

定义一个model1模块

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

1.3导入模块

  • 语法
  1. import 模块名  [as 模块新名字1]
    

    导入一个模块到当前程序

  2. from 模块名 import 模块属性名 [as 属性新名]
    

    导入一个模块内部的部分属性到当前程序

  3. from 模块名 import *
    

    导入一个模块内部的全部属性到当前程序

# 模块
# 一个.py文件就是一个模块
# 可以引入模块,使用模块中的函数和变量import model1def fn():re = model1.runnianjisuan(1978)print(re)fn()
# 模块的导入
# 1. import 模块名
# 2. from 模块名 import 函数名
# 3. from 模块名 import *
# 4. import 模块名 as 别名
# 5. from 模块名 import 函数名as 别名
PS F:\hqyj> & C:/Users/Administrator/anaconda3/python.exe f:/hqyj/14模块和包.py
1978 不是闰年
None

1.4内部属性

__file__  绑定模块的路径
__name__  绑定模块的名称如果是主模块(首先启动的模块)则绑定 '__main__'如果不是主模块则 绑定 xxx.py 中的 xxx 这个模块名

1.5 常见模块

模块功能官方文档
math数学运算https://docs.python.org/zh-cn/3.12/library/math.html
os操作系统接口https://docs.python.org/zh-cn/3.13/library/os.html
os.path路径相关https://docs.python.org/zh-cn/3.13/library/os.path.html
datetime日期和时间https://docs.python.org/zh-cn/3.13/library/datetime.html
random随机数生成https://docs.python.org/zh-cn/3.13/library/random.html
time时间https://docs.python.org/zh-cn/3.13/library/time.html
  • 使用实例
    随机数
import random#随机数
def random_num():print(random.randint(1, 100))print(random.random())print(random.choice([1, 2, 3, 4, 5]))if __name__=="__main__":random_num()import time
59
0.7638132453964123
3

时间

#时间
def time_fn():t=time.time()#1970-1-1 08:00:00 到 这个代码运行的时候 过了多少秒# print(t)# for _ in range(10000):#     c=100+200# time.sleep(2)#让程序暂停5秒钟print(time.time()-t)print(time.localtime())# 获取年份print(time.localtime().tm_year)print(time.strftime("%Y年%m-%d %H:%M:%S"))print(time.strftime("%H点%M分%S秒"))if __name__=="__main__":time_fn()
time.struct_time(tm_year=2025, tm_mon=3, tm_mday=24, tm_hour=16, tm_min=39, tm_sec=38, tm_wday=0, tm_yday=83, tm_isdst=0)
2025
2025年03-24 16:39:38
16点39分38秒

数学

# math模块 
def math_fn():print(math.pi)print(math.e)print(math.sqrt(2))print(math.log(2))deg=math.pi/180print(math.sin(90*deg))if __name__=="__main__":math_fn()
3.141592653589793
2.718281828459045
1.4142135623730951
0.6931471805599453
1.0

计算机内置操作

def os_fn():print(os.name)print(os.getcwd())#获取当前目录print(os.listdir())#获取当前目录下的所有文件print(os.path.exists(""))#判断文件是否存在print(os.path.isdir(""))#判断是否是文件夹print(os.path.isfile(""))#判断是否是文件print(os.path.join("",""))#拼接路径if __name__=="__main__":os_fn()
['00变量3.8.ipynb', '01字符串3.8.ipynb', '02数字3.9.ipynb', '03列表3.10.ipynb', '04元组3.11.ipynb', '05字 典3.11.ipynb', '06集合3.12.ipynb', '07运算.3.13.ipynb', '08语句3.14.ipynb', '09Python函数3.15.ipynb', '10 装饰器.ipynb', '11类和对象3.19.ipynb', '12迭代器和生 成器.ipynb', '13异常处理.ipynb', '14模块和包.py', '15内置模块和包.py', '222.html', 'file.txt', 'lianxi .ipynb', 'model1.py', 'model2.py', '__pycache__', '视频']
False
False

1.6 第三方模块

由社区或公司开发,通过包管理工具(如pip )安装,用于实现更高级或更具体的功能,如数据科学、图像处理、网络爬虫等。

  • 举例
模块功能示例
numpy数值计算科学运算、矩阵操作
pandas数据分析数据清洗与处理
matplotlib数据可视化绘制图表
requestsHTTP请求处理爬取网页内容,调用API
flaskWeb应用框架快速搭建Web服务

使用方法
1.安装模块

pip install numpy

2.使用模块

# numpy 模块
import numpy as np
array = np.array([1, 2, 3])
print(array.mean())  # 输出: 平均值 2.0

1.7自定义模块

  • 用户自己编写的模块,用于复用代码。
  • 文件名以 . p y .py .py 结尾,存放自定义的函数、类等。
    model1,用于判定是否为闰年和加减法工具,可以直接调用
def runnianjisuan(year):if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:print(year, "是闰年")else:print(year, "不是闰年")returndef add(a, b):return a + bdef sub(a, b):return a - bif __name__ == '__main__':year = int(input("请输入年份:"))runnianjisuan(year)

1.8总结对比

分类获取方式使用场景示例
系统模块随Python自带常用功能,性能高效math, os, random
第三方模块pip 安装高级功能,特定领域numpy, requests
自定义模块自己编写项目特定需求,灵活控制utils.py

二、包

1.基本概念

  • 定义

    • 包是包含多个模块的目录。
    • 包的本质是一个包含 _ _ i n i t _ _ . p y \_\_init\_\_.py __init__.py 文件的文件夹。
    • 文件 _ _ i n i t _ _ . p y \_\_init\_\_.py __init__.py 可为空,也可以包含初始化代码。
  • 作用:用于组织模块的集合,形成层次化的结构,便于管理大型项目。

my_package/__init__.pymodule1.pymodule2.pysubpackage/__init__.pymodule3.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

_ _ i n i t _ _ . p y \_\_init\_\_.py __init__.py 用于初始化Python包或模块,作用有:

  1. 标识包目录: 告诉Python解释器当前目录应被视为一个包。
  2. 执行初始化代码: 可以包含任何代码,通常用于包的初始化操作,如变量初始化、导入模块等。这些代码在包被导入时执行。
  3. 控制包的导入行为: 通过 __all__ 变量明确指定从包中可以导入哪些模块,从而限制包的公开接口。
  4. 提供包级别的命名空间: __init__.py 中定义的变量和函数可以在包的模块中共享。
  5. 批量导入模块: 可以在 __init__.py 文件中批量导入模块,这些模块可以更方便地使用。
# __init__.py 文件示例# 1. 批量导入系统模块
import os
import sys
import datetime# 2. 定义包级别的变量
package_variable = "This is a package variable"# 3. 控制包的导入行为
__all__ = ['module1', 'module2']# 4. 执行初始化代码
print("Initializing mypackage")

三,模块与包的区别

模块
一个Python文件一个包含__init__.py的文件夹
提供基本功能单元用于组织多个模块
文件名为.py目录名
关键字:html商品展示页面_北京疫情最新真实消息_seo快速排名案例_今天微博热搜前十名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: