首页 > 其他分享 >模块

模块

时间:2023-06-06 20:44:06浏览次数:32  
标签:__ 文件 md xxx 导入 模块 import

简介

模块就是一系列的整合,使用时直接调用即可,模块可以提高效率

 

1.来源

1.内置的(python解释器自带的,可以直接使用)

2.第三方的(别人写好直接放网上,想要下载才可以使用)

3.自定义的(自己写的)

 

2.存在模式

一共有四种模式,目前只用2种

1.我们自己写的单个py文件(一个py文件就是一个模块)

2.包:

其实就一系列模块的结合体,其实就是文件夹

 

import句式

import  xxx   # 导入xxx文件

首次导入文件,会执行导入文件的代码,导入文件不管你导入几次,都只执行一次

导入文件的过程:

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

2.运行md.py文件,会产生md文件的全局名称空间,把md文件里的名字都丢到md的全局名称空间去

3.在执行文件中有一个md的变量,指向导入文件的空间地址

4.以后我们执行文件中就可以用md来点出来导入文件中的名字

导入文件之后,以后在用导入文件中的名字,只需要使用md点语法形式点出来就可以

不会与执行文件中的名字发生冲突,因为我们是指名道姓的取值

 

from .... import ....句式

首次导入会执行文件

导入多次也只会执行一次

导入文件的过程:

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

2.运行导入文件md.py,产生md文件的全局名称空间,然后把md中所有的名字都丢到md的全局名称空间中去

3.在执行文件中有一个变量xxx指向导入文件中的xxx的空间地址

4.我们想要使用导入文件的xxx,直接用money即可,不再使用md.xxx了,此时,知识把导入文件的xxx导入到执行文件,其他都没有

导入文件之后,就有可能发生执行文件中的名字和导入文件中的名字产生冲突,此时,会使用当前执行文件中的名字

 

导入模块的扩展用法

1.起别名

以下都是一样的效果 

import  xxx as t

print(xxx.name)

print(t.name)

from xxx import name as t

print( t )

 

2.连续导入

一次导入多个变量

import  md, time, os, sys

 

3.通用导入

只允许导入固定变量

from  md import *     # 导入文件

在执行文件的末尾

__all__:[xxx, yyy]     # 只允许导入xxx和yyy文件

 

判断文件类型

1.__name__

1.在执行文件行文件中打印,就是字符串__mian__

2.如果在导入文件中打印,就是导入文件的文件名

 

2.如何让一个文件不被导入

提前做个判断,看文件中的__name__,是文件名还是 ' __mian__ '

 if __name__ == ' __main__ ' :

   pass

 

循环导入(了解)

循环导入就是导入卡住

导入文件xxx:

  from  yyy improt  a

  b = 2

 

导入文件 yyy:

  from xxx import  b

  a = 1

 

执行文件:

  import xxx

  import yyy

  print( ' 结束 ' )

由于一直循环卡死就会报错,所有我们必须处理

 

1.如何处理

  1.把导入语句放到代码最下面    # 不建议使用,一般放开头

  2.函数式    #将导入写成函数,然后再调用

 

模块的查找顺序(重要)

1.查找顺序

  1.先从内存中查找

  2.再从内置模块中查找

  3.从环境变量sys.path中查找(重要)

  4.以上都找不到就报错

 

2.添加到sys.path

sys.path.append(r ' D:路径 ')

3.from 模块1.模块2.模块3  import ... 句式

from aaa.bbb.ccc import  xxx

 

标签:__,文件,md,xxx,导入,模块,import
From: https://www.cnblogs.com/caicaix/p/17461676.html

相关文章

  • 【python】threading模块之Semaphore
     threading模块之Semaphoreimportthreadingimporttimeimportrandom#Theoptionalargumentgivestheinitialvaluefortheinternalcounter;#itdefaultsto1.#Ifthevaluegivenislessthan0,ValueErrorisraised.semaphore=threading.Semaphore(0)......
  • ASEMI代理英飞凌智能功率模块IKCM10H60GA
    编辑-ZIKCM10H60GA参数描述:型号:IKCM10H60GA最大闭锁电压VCES:600VP-N的直流链路电源电压VPN:450V输出电流IC:10A最大峰值输出电流:16A短路耐受时间tSC:5µs每个IGBT的功耗Ptot:23.1W工作接点温度范围TJ:-40~150℃模块电源电压VDD:20V输入电压VIN:10V开关频率fPWM:20kHz开启上......
  • 3500/42M 140734-02本特利监测模块应用于石油等
    3500/42M140734-02本特利监测模块应用于石油等 什么是紧急停机系统(ESD)?EmergencyShutdown是由于供电设施故障或工厂重要部件故障(如泵进料故障、反应物供应故障或熔炉故障等)而导致的紧急停机。紧急停机系统是一种停止过程操作并隔离输入连接或电流以快速降低意外事件发......
  • Webpack5 联邦模块
    模块联邦在大型项目中,往往会把项目中的某个区域或功能模块作为单独的项目开发,最终形成「微前端」架构在微前端架构中,不同的工程可能出现下面的场景这涉及到很多非常棘手的问题:如何避免公共模块重复打包如何将某个项目中一部分模块分享出去,同时还要避免重复打包如何管理依赖的不同版......
  • 如何在Python中使用JSON模块
    JSON(JavaScriptObjectNotation)是一种流行的轻量级数据交换标准。它表示由键值对组成的数据结构,非常简单易懂。JSON已成为在线服务之间数据交换的行业标准。它广泛用于现代编程语言,包括Python。JSON数据经常表示为嵌套字典、列表和标量值,例如文本、数字、布尔值和空值。之所......
  • 28) 跳过去 (只装父pom |不测试|构建特定模块)
    只装父pom跳过子命令行mvn-Ninstall-N,--non-recursive          Donotrecurseintosub-projectsusage:mvn[options][<goal(s)>][<phase(s)>]eclipse 跳过测试mvninstall-DskipTests http://maven.apache.org/surefire/maven-su......
  • IKCM10H60GA-ASEMI代理英飞凌功率模块IKCM10H60GA
    编辑:llIKCM10H60GA-ASEMI代理英飞凌功率模块IKCM10H60GA型号:IKCM10H60GA品牌:ASEMI封装:DIP-24正向电流:0.8A反向电压:600V引脚数量:3芯片个数:1芯片尺寸:漏电流:>10ua恢复时间: 浪涌电流:30A包装方式:盘装封装尺寸:如图特性:单向可控硅工作结温:-40℃~125℃......
  • 单片机+WiFi模块和主流物联网平台实现MQTT协议通信视频教程
    单片机+WiFi模块和主流物联网平台实现MQTT协议通信视频教程1、单片机+WiFi模块和阿里云物联网平台实现MQTT协议通信视频教程单片机+WiFi模块和阿里云物联网平台实现MQTT协议通信,阿里云物联网平台可以对单片机数字量输出、保持寄存器进行设置操作,单片机可以实时上报数字量输入、数......
  • OverTheWire攻关过程-Bandit模块33
    我们打开lv32-lv33,查看信息机器翻译在所有这些git的东西之后,是时候再次逃脱了。祝你好运!您可能需要解决此级别的命令嘘,伙计看来是需要sh命令先了解下sh命令我们登陆服务器查看信息已进入就是shell尝试了几个,发现不行输入$0可以得到正常的shellcat/etc/bandit_pass/bandit33得到密......
  • idea添加maven模块
    pom.xml右键AddasMavenProject......