首页 > 其他分享 >模块与包

模块与包

时间:2023-03-07 20:57:50浏览次数:32  
标签:__ 文件 py 导入 模块 import

模块简介

什么是模块

python模块是一系列功能的结合体,一个py文件就是一个模块,导入模块可以引用模块中已经写好的功能;在需要的时候可以直接拿来套用,比如说,模块就是已经洗好待下锅的菜,剩下的工作就是什么时候用到了;直接下锅就行了,极大提高了开发效率!

将程序模块化会使整个程序结构更加清晰,维护起来更加方便。单独开发一个小的模块也会更加简单,可以被重复使用,即保证了代码的重要性,又增加了的可维护性。

模块的分类

1.内置的:python中自带的;可以直接调用

2.第三方的:就是别人写好的,需要下载使用

3.自定义的:就是自己写的

模块的存在形式

模块:就是我们自己写的py文件,一个py文件就是一个模块

包:就是一系列py文件的集合,以文件夹的形式展现

 

 

 

模块的使用

import句式

使用时需注意:

1.import 在使用阶段模块名py后缀不能加,比如说:import mk,如果写成import mk.py就是错误的

 

 

2.要区分开哪个是执行文件,哪一个是导入文件

3.在导入模块的时候,只有第一次会执行,其他的不会执行

 

 

 

 

 

 

import导入模块

import  模块名

整个模块的导入流程:

1.运行执行文件,产生执行文件的全局名称空间、

2.运行导入文件(lmp.py)

3.产生导入文件的全局名称空间,并且把导入文件中产生的名字都保存到导入文件的全局名称空间中

4.在执行文件中,产生一个lmp名字指向导入文件的全局名称

 

 

 

form...import...导入模块

from 模块名 import 模块内名字

模块导入流程:

1. 运行执行文件,产生执行文件的全局名称空间
2. 运行lmp.py文件
3. 产生导入文件的全局名称空间,把运行之后产生的名字都保存到导入文件的全局名称空间中
4. 在执行文件中,产生一个名字变量名指向导入文件中得值

 

 

导入文件的扩展用法

1.起别名:

import  模块名 as  别名   

比如:import mddddddddddddddddddddddddddddddddddddddd as lmp此时lmp就是改过后的名字

 

 

 form 模块名 import 模块内的变量名 as 别名

2.连续导入:

import time
import md
import os
import sys

import time, md, os, sys # 等价于上面4行代码
import 模块名1, 模块名2, 模块名3, 模块名4, 模块名5,
# 推荐还是分开写好一些

3.通用导入:

from lmp import *   #星号可以接收所有导入模块里的变量名,弊端就是看不到具体的内容,使用过程中也不会有提示功能

 

 

判断文件的类型

在执行文件中使用__name__,返回结果是__main__ 

如果在导入文件中使用__name__,结果是模块名

 

 

循环导入

在一个包中,如果A的完全导入依赖于B的导入,但是B的完全导入又需要导入A,即两个模块之间存在相互导入,那么就会引发循环导入问题,这种现象是坚决不允许的,如果出现这个问题就说明程序设计的不合理

 

 

模块的查找顺序

1. 先从内存中查找
2. 再从内置模块中查找
3. 从环境变量中查找sys.path
注意以后的文件名命名坚决不能跟内置模块名重名

模块丢失的解决方案

1.把模块所在的路径添加到环境变量中 会打印出文件的所有路径,第一个路径就是所在的文件夹

 

 是文件名是列表类型,那既然是列表类型就可以追加,可以appand()追加文件路径

 

 

2.form  文件名 . 子文件名 import 模块名 

 

 

 

 

 

 

标签:__,文件,py,导入,模块,import
From: https://www.cnblogs.com/h-220413/p/17189007.html

相关文章

  • BOSHIDA 模块电源的分类(三)
    BOSHIDA三河博电科技模块电源的分类(三)AC/DC电源模块的基本原理是从交流源中获取电压,然后由整流器转换为直流电压,且输出能量比输入的电压高,从而达到电路输出直流电压、......
  • JavaScript核心功能之模块的导入导出
    一、模块的概念模块是将JavaScript程序拆分为可按需导入的单独模块的机制。 二、如何创建模块模块是定义在单独的.js文件中的。 三、export导出模块的两种方式1、将expo......
  • JavaScript核心功能之模块命名冲突的解决方式
    避免模块命名冲突的三种解决方式方式一:使用as重命名导出与导入在你的import和export语句的大括号中,可以使用as关键字跟一个新的名字,来改变你在顶级模块中将要使用的功......
  • JavaScript核心功能之模块的应用
    应用模块到你的HTML脚本中的两种方式: 方式一:将type="module"放到<script>标签中,来声明这个脚本是一个模块<scripttype="module"src="main.js"></script>方式二:将模块......
  • 如何导入第三方模块
    如何导入第三方模块,以PyCharm2022.1.3(CommunityEdition)为例一、命令行配置:路径\python.exe-mpipinstall--upgradepip默认是从国外网站安装更新pip路径\pytho......
  • python-模块与包
    一、模块模块的本质:具有一定功能(代码)的py文件,或者是文件夹,就是你之前写的代码有功能的都可以叫模块1、python模块的历史python刚开始的时候,所有搞其他编程语言的的程序......
  • 7 odoo12 全屏模块开发
    全屏功能开发:1定义web模板t-name=”WebFullScreen”,预置全屏和退出全屏的a标签,退出全屏默认隐藏<?xmlversion="1.0"encoding="UTF-8"?><templatexml:space="pre......
  • Python 学习07 模块和标准库
    66、模块的导入67、标准库......
  • 第三方模块源码下载安装步骤讲解
    第一步:在Gitee上clone下来第二步:在本机下载目录找下载好了的源码文件第三步:装完之后,首先把路径复制下来第四步:之后来到项目,在terminal里面先CD到C盘,再把刚刚复制的......
  • 新移科技4G全网通MTK6761安卓主板|安卓智能模块定制开发
    新移科技XY6761CA安卓核心板基于联发科MTK6761曦力A22平台,结合先进相机功能、丰富连接方式和轻量人工智能。是一款高性能低功耗的4G全网通安卓智能模块。   MTK6761......