当前位置: 首页 > news >正文

4.1 模块概述

1.Python结构

        工程 > 包 > 模块

        Python工程: “Python项目中最大的文件夹(本质就是一个文件夹)” --- 左侧的 CODE文件夹 为Python工程

        Python包: 本质就是一个文件夹,但是python包中具备具体的标识,如果没有标识则不能导入 --- 左侧的 01.Python基础 文件夹为python包

        Python模块: 每一个 .py 文件 --- 左侧的 1.1 变量.py 为Python模块

        2.Pytho包:

            特征:内部包含一个初始文件,文件名为: __init__.py     (双下划线)

       

        3.Pytho模块的分类:

            >.内置模块  Python解释器自带的  (random/math/date/funtools)

            >.自定义模块    自己写的所有.py文件

            >.第三方模块    必须通过外网下载才能导入

                PythonWeb开发: django/flask

                数据分析: pandas/numpy

                人工智能: sekitlearn

        4.导入模块

            -导入包

                import 包名

#导入包

import test_package     #导入Python包-导入模块方法一:import 包名.模块名 as 别名              该语句会将指定包下的模块导入到当前命名空间#   包名.模块名     使用时同样需要 包名.模块名 的形式来调用print("------------------------------导入模块1")import test_package.Hello1test_package.Hello1.show()           #wzw:12345#起别名 as ---print("------------------------------as")import test_package.Hello1 as hellohello.show()方法二:                                            前提:导入的模块要和当前空间同级import 模块名 as 别名                           此语句可以将整个模块导入到当前命名空间中

直接导入模块名      导入的模块必须和当前命名空间同级

import Hello2

Hello2.show()

方法三:                                                

                    from 包名1.子包名2.... import 模块名 as 别名            允许你从模块中导入特定的函数、类或变量到当前命名空间。导入后,使用时无需加模块名前缀。'''#   form 包名.子包名 import 模块名      从包中去导入一个模块, 运用最广from test_package import Hello1Hello1.show()                           #此方式是将 Hello1 模块整个导入到当前命名空间from test_package.Hello1 import showshow()                                 #此方式是从 Hello1 模块中仅导入 show 函数到当前命名空间from Hello2 import showshow()            #yst:6789    在 Hello2 中调用




5. __init__.py 文件的用法

        当包被导入时,__init__.py 中的代码会自动执行,常用于:

            >.定义包的公共接口

            >.初始化全局变量或配置

            >.执行包级别配置(如日志初始化)

'''

print(test_package.USERNAME)        #WangZhaoWei


 

test_package.test_connect_mysql()               # mysql数据库已连接....       连接数据库的函数


 

    6.动态导入包

        - import 导入模块原理:使用了内置函数 __import__()

#第一种方式 -- 不建议module_name = "random"          #将 random随机数库值传递给module_nameres = __import__(module_name)print(res.randint(1,50))            #在1-50中随机打印一个数字#第二种方式:导入动态导入的库import importlibmodule_name = "math"            #值传递 将math内置数模块传递给module_nameres = importlib.import_module(module_name)print(res.pi)               #3.141592653589793 打印出圆周率近似值


 

    7.导入模块占用内存问题

        无论导入多少次同一模块,都只占用同一内存地址

#测试导入模块内存问题import math as m1import math as m2import math as m3           #导入三次math比较其地址print(m1 is m2)     #Trueprint(m1 is m3)     #True       证明同一模块只会占用同一块地址

http://www.xdnf.cn/news/258661.html

相关文章:

  • JavaScript基础-逻辑运算符
  • 【质量管理】现代TRIZ问题识别中的功能分析——组件分析
  • 网站怎样备份网站,备份网站数据的方法
  • 正弦波、方波、三角波和锯齿波信号发生器——Multisim电路仿真
  • re题(52)BUUCTF-[FlareOn5]Minesweeper Championship Registration
  • 深度理解linux系统—— 进程优先级
  • 深入理解C++构造函数:从入门到实践
  • AXI中的burst有几种?都用在什么场景中
  • 复刻低成本机械臂 SO-ARM100 舵机配置篇(WSL)
  • HTML5+JavaScript实现连连看游戏之二
  • [预备知识]6. 优化理论(二)
  • Codeforces Round 1022 (Div. 2) A ~ C
  • 【AI面试准备】数据治理与GDPR脱敏机制构建
  • 一键暂停Windows更新工具
  • 数字智慧方案6186丨智慧应急指挥解决方案(43页PPT)(文末有下载方式)
  • VGG网络模型
  • 自监督学习的学习笔记
  • Python 数据智能实战 (7):智能流失预警 - 融合文本反馈
  • git问题记录-如何切换历史提交分支,且保留本地修改
  • 安卓程序打包与发布
  • 不小心误删了文件,找Windows数据恢复工具来帮忙
  • redis持久化-RDB
  • 数字智慧方案5868丨智慧建造总体策划方案(68页PPT)(文末有下载方式)
  • 泰迪杯特等奖案例学习资料:基于多模态特征融合的图像文本检索系统设计
  • 清洗数据集
  • 数字智慧方案5870丨智慧交通顶层设计方案(89页PPT)(文末有下载方式)
  • 树莓派连接教学
  • 【KWDB 创作者计划】_查询优化器源码分析
  • 《缓存策略:移动应用网络请求的“效能密钥” 》
  • 鼎讯信通【专注通信解决方案】