Python_模块定义与导入

1.定义:

  模块:用来从逻辑上组织python代码(函数,变量,类,逻辑:实现一个功能),本质是.py文件。

  包:用来从逻辑上组织模块,带__init.py__文件的目录

2.导入方法:

  1)import module_name

  2)  import module_name1,module_name2

  3)  from module_name import * (导入module_name下全部代码)

  4)from module_name import m1,m2,m3

  5)from module_name import logger as logger_name (将导入模块重命名)

  6)  from . import module_name (相对导入,从当前目录下导入模块)

3.import 本质:

  import module (module = ‘module.py all code‘,调用方法:module.logger)

  from module import test (test = ‘code‘ ,调用方法 test() )

  导入模块的本质就是把python文件解释一遍。

  import module_name -----> module.py -----> module.py 的路径 -----> sys.path( 将导入模块的父级目录加入sys.path(insert方法可以将路径插入sys.path的任意位置,方便检索,也可采用append加入sys.path末尾)即可搜索到该模块 )

  导入包的本质就是执行该包下的__init__.py文件。

4.导入优化:

  from module import test (from 方法 减少检索次数)

5.模块的分类:

  

  

原文地址:https://www.cnblogs.com/soapolddaddy/p/8695352.html

时间: 2024-08-22 06:34:15

Python_模块定义与导入的相关文章

python:模块定义、导入、优化

1.定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test) 2.导入方法import module_nameimport module1_name,modoule2_namefrom module_alex import *from module_alex import logger as logger_alex 3.import本质(路径搜索和搜索路径) 导入模块的本质就是把py

Python常用模块——模块介绍与导入

Python常用模块--模块介绍与导入 一.什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少了,很多编程语言都采用这种组织代码的形式. 在Python中,以个.py文件就可以称之为一个模块(Module). 二.使用模块有什么好处? 1.最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地

webpack模块定义和使用的模式

在使用webpack作为模块加载工具时,我在想module.exports的模块应该是一种什么模式,最直接地思考是单例.不太确定,所以写一个简单例子做测试. 测试代码 singleton.js: var Singleton = { count: 0, addCount: function(){ Singleton.count++; } } console.log('Singleton 输出'); module.exports = Singleton; App.vue: import Single

CMD (sea.js)模块定义规范

转自http://www.cnblogs.com/hongchenok/p/3685677.html CMD 模块定义规范 在 Sea.js 中,所有 JavaScript 模块都遵循 CMD(Common Module Definition) 模块定义规范.该规范明确了模块的基本书写格式和基本交互规则. 在 CMD 规范中,一个模块就是一个文件.代码的书写格式如下: define(factory); define Function define 是一个全局函数,用来定义模块. define d

Sea.js学习3——Sea.js的CMD 模块定义规范

在 Sea.js 中,所有 JavaScript 模块都遵循 CMD(Common Module Definition) 模块定义规范.该规范明确了模块的基本书写格式和基本交互规则. 在 CMD 规范中,一个模块就是一个文件.代码的书写格式如下: define(factory); define Function define 是一个全局函数,用来定义模块. define define(factory) define 接受 factory 参数,factory 可以是一个函数,也可以是一个对象或字

AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法

AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一个可用的模块化 JavaScript 的解决方案. AMD 模块格式本身是一个关于如何定义模块的提案,在这种定义下模块和依赖项都能够异步地进行加载.它有很多独特的优势,包括天生的异步及高度灵活等特性,这些特性能够解除常见的代码与模块标识间的那种紧密耦合.目前它已经被很多项目所接纳,包括jQuery(1.7). RequireJS RequireJS是一个工具库,主

DLL中__declspec(dllexport)和.def(模块定义文件)定义导出函数的一点区别

原想是不在DLL中使用.def文件的,直接在需要导出的函数前加__declspec(dllexport)修饰.但在是要导出STDAPI __declspec(dllexport) DllGetClassObject的时候,就提示"warning C4518: “__declspec(dllexport ) ” : 此处遇到意外的存储类或类型说明符:被忽略"(我用的是vc.net 2003). STDAPI这个宏扩展出来是extern "C" HRESULT __st

Python之路-python(面向对象进阶(模块的动态导入、断言、Socket Server))

模块的动态导入 断言 Socket Server 一.模块的动态导入 1 class C(object): 2 def __init__(self): 3 self.name = "zhangsan" 1 #动态导入 2 import importlib 3 test = importlib.import_module("lib.test") 4 print(test.C().name) 二.断言 assert断言是一句必须等价于布尔真的判定! 1 不等于 0 就会

AMD模块定义规范

AMD 即Asynchronous Module Definition,中文名是"异步模块定义"的意思.它是一个在浏览器端模块化开发的规范,服务器端的规范是CommonJS.   模块将被异步加载,模块加载不影响后面语句的运行.所有依赖某些模块的语句均放置在回调函数中. AMD 是 RequireJS 在推广过程中对模块定义的规范化的产出. define() 函数 AMD规范只定义了一个函数 define,它是全局变量.函数的描述为: define(id?, dependencies?