模块的四种形式

  1. 自定义模块,例如自己定义的common.py就叫common模块
  2. 内置模块:python解释器自带的,不需要安装
  3. 第三方模块:需要自己安装,13万个库,无所不能,写库(弄得更简单)
  4. 包—>含有__inti__.py的文件夹,一种特殊的模块(解决了一个问题)

注意:2和3的模块会用就可以了,但是1和4模块需要掌握

import 实现原理

例如 from time

  1. 在内存中生成一个叫做time的名称空间
  2. 运行time.py文件,然后把time.py文件内的名称空间放入time的名称空间内
  3. 把time的名称空间指向import和from….import.py(当前导入time模块的文件)的名称空间

使用import time导入的时候,使用方法只能time.方法名( ),不能直接方法名

注意:

  1. 当解释器遇到import语句,如果模块在当前色搜索路径就会被导入(搜索路径是一个解释器会先进行搜索的所有目录的列表)。需要把import命令放在代码的顶端
  2. 一个模块只会被导入一次,不管你执行了多少次import

from ….import实现原理

例如 from time import gmtime

  1. 在内存中生成一个叫做time的名称文件
  2. 运行time.py文件,然后把time.py文件内的名称空间放入time的名称空间内
  3. 把gmtime方法指向import和from….import.py(当前导入time模块的文件)的名称空间内

可以直接使用方法() 来使用相关方法

from…import*

​ 既可以只使用方法名加括号使用模块里的方法,还可以使用所有的方法,例如:from math import *, 可以一次性引入模块中的所有东西 但是不应该频繁使用,有可能会造成冲突,例如用math下的power方法,power(),有可能你在后面自己定义了一个叫power()的函数,这样调用就会有问题

模块的搜索路径

1. 先从内存中找

from m2 import y
import time
time.sleep(10) print(y) # 在sleep的10s内删除了m2,但是依然能运行,
2. 从内置模块里面找

from time import time
print(time)
3. 自定制模块

	就是在自己定义完的模块里面开始找
4. 环境变量

#项目的执行文件中一定要弄一个环境变量,将模块所在的目录包含在环境变量中

'''
例如我写一个模块test.py,里面有方法f1,路径是D:\模块
那就应该使用下面这句话
''' import sys
sys.path.append(r'D:\模块')

import xxx 和 from xxx import xxx的比较

戳这 ==> import 和 from xxx import xxx

Python 模块A的更多相关文章

  1. 使用C/C++写Python模块

    最近看开源项目时学习了一下用C/C++写python模块,顺便把学习进行一下总结,废话少说直接开始: 环境:windows.python2.78.VS2010或MingW 1 创建VC工程 (1) 打 ...

  2. Python模块之configpraser

    Python模块之configpraser   一. configpraser简介 用于处理特定格式的文件,其本质还是利用open来操作文件. 配置文件的格式: 使用"[]"内包含 ...

  3. Python模块之"prettytable"

    Python模块之"prettytable" 摘要: Python通过prettytable模块可以将输出内容如表格方式整齐的输出.(对于用Python操作数据库会经常用到) 1. ...

  4. python 学习第五天,python模块

    一,Python的模块导入 1,在写python的模块导入之前,先来讲一些Python中的概念性的问题 (1)模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质是.py ...

  5. windows下安装python模块

    如何在windows下安装python模块 1. 官网下载安装包,比如(pip : https://pypi.python.org/pypi/pip#downloads) pip-9.0.1.tar. ...

  6. 安装第三方Python模块,增加InfoPi的健壮性

    这3个第三方Python模块是可选的,不安装的话InfoPi也可以运行. 但是如果安装了,会增加InfoPi的健壮性. 目录 1.cchardet    自动检测文本编码 2.lxml    用于解析 ...

  7. Python基础篇【第5篇】: Python模块基础(一)

    模块 简介 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就 ...

  8. python 模块加载

    python 模块加载 本文主要介绍python模块加载的过程. module的组成 所有的module都是由对象和对象之间的关系组成. type和object python中所有的东西都是对象,分为 ...

  9. pycharm安装python模块

    这个工具真的好好,真的很喜欢,它很方便,很漂亮,各种好 pycharm安装python模块:file-setting-搜索project inte OK

  10. Python模块常用的几种安装方式

    Python模块安装方法 一.方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:pytho ...

随机推荐

  1. 本地计算机上的SQL Server(MSSQLSERVER)服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止

    看下SQLExperss协议和 MySQLServer协议的TCP/IP端口,有可能是SQLEXPERSS将TCP端口占用了,将SQLEXPERSS的TCP/IP协议禁用,重启 SQLEXPRESS服 ...

  2. 【More Effective C++ 条款3】最好不要以多态方式处理数组

    1.在数组与多态混用的情况下,数组元素的访问会出现不可预期的结果(因为数组元素的访问会使用到下标运算) 将一个子类对象数组传递给一个父类对象数组声明的函数,编译器会允许这个行为,但是由于子类对象和父类 ...

  3. springboot+RabbitMQ 问题 RabbitListener 动态队列名称:Attribute value must be constant

    因为多机环境fanout广播模式,每台机器需要使用自己的队列接受消息 所以尝试使用以下的方案 private static final String QUEUE_NAME="foo.&quo ...

  4. 基础知识---const、readonly、static

    const:静态常量,也称编译时常量(compile-time constants),属于类型级,通过类名直接访问,被所有对象共享! a.叫编译时常量的原因是它编译时会将其替换为所对应的值: b.静态 ...

  5. Prometheus 安装Grafana与Prometheus集成

    Prometheus 安装Grafana与Prometheus集成 Grafana是一个开源的度量分析和可视化系统. 下载地址:https://grafana.com/grafana/download ...

  6. app 崩溃测试 (转:CSDN 我去热饭)

    首先,崩溃有几种情况: 闪退 提示停止运行 无响应 ( 不同情况虽然没有严格意义上区分开引起原因,但是都有侧重.在之后的工作中,我会实时补充统计.) 1.接口返回值 [直接原因]:app无法解析接口返 ...

  7. nginx报错111: Connection refused

    最近遇到了nginx疯狂抛错,access.log一天一共5W多条,但error.log中有大概9K多条,基本都是111: Connection refused,这到底是为什么呢? 从日志看起 我们还 ...

  8. Why React Is Favored by Front-End Specialists

    In this section, we will discuss some of the features that make React a superior choice for front-en ...

  9. 使用Swagger创建Api

    1.首先创建一个web项目,选择Mvc模板 2.右键点击引用.管理Nuget程序包,浏览 搜索Swagger,下载安装下面的包 3.安装完后在App_Start里面会出现SwaggerConfig.c ...

  10. C# 简单日志帮助类LogHelper

    调用: LogHelper.Debug(""); LogHelper.Info(""); LogHelper.Error(""); 项目添加 ...