模块

1.模块定义
用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质上就是.py结尾python文件 分类:内置模块(又称标准库)执行 help('modules')查看所有python自带模块列表
第三方开源模块,可通过 pip install 模块名 联网安装
自定义模块 2.导入模块
本质:导入模块的本质就是把python文件解释一遍,
导入包的本质就是把包文件下面的init.py文件运行一遍。 1)同目录下模块的导入
#同级目录下模块的导入 import module_name #直接导入模块
import module1_name,module2_name #导入多个模块 使用:模块名.函数名
from modeule_name import * #导入模块中所有函数和变量等。。。不推荐使用
from modeule_name import m1,m2,m3 #只导入模块中函数m1,m2,m3 使用:直接使用m1,m2,m3就可以
from modeule_name import m1 as m #导入module_name模块中函数m1并且将函数重新复制给m 使用:直接用调用m 2)不同目录下模块的导入
#不同目录下模块的导入 当前文件main.py #目录结构
# ├── Credit_card
# │
# ├── core
# │ ├── __init__.py
# │ └── main.py # 当前文件
# ├── conf
# │ ├── __init__.py
# │ └── setting.py
# │ └── lzl.py import sys,os
#获取当前目录的上上级目录绝对路径,也就是Credit_card
credit_card_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#把Credit_card目录加入到系统路径
sys.path.insert(0,credit_card_path) #查看系统环境路径
print(sys.path) 例子:
如果main文件夹要用conf文件夹下的setting文件,直接导入是不行的
应该:
fron conf import setting
setting.函数名() #这样执行setting模块中的函数 3)不同目录下模块连环导入
#不同目录多个模块之间互相导入 #目录结构
# ├── Credit_card
# │
# ├── core
# │ ├── __init__.py
# │ └── main.py # 当前文件
# ├── conf
# │ ├── __init__.py
# │ └── setting.py
# │ └── lzl.py 如果在setting文件中调用模块lzl.py,可以用语句 import lzl,但是如果这样,
我们在main.py文件中调用setting文件时,就会报错#ImportError: No module named 'lzl'
这个时候我们需要将 import lzl 换为 from . import lzl
然后main.py文件中调用setting文件时,才可以正常执行。 4)不同目录多个模块相互导入,用相对路径 Root
├── Credit_card
├── README.md
├── core
│ ├── __init__.py
│ └── main.py
├── conf
│ ├── __init__.py
│ └── setting.py
│ └── lzl.py lzl.py文件内容:
def name():
print("name is lzl") setting.py文件内容:
#当前文件settings,调用lzl.py模块 相对路径
from . import lzl #通过相对路径导入模块lzl
def set():
print("in the settings")
lzl.name() #运行lzl模块下的函数 set() #执行函数set Core目录下的文件中的mian.py文件内容:
#不同目录之间连环import 当前文件main.py 相对路径 from Root.Credit_card.conf import settings
settings.set() #执行settings下的函数 注意:
lzl.py以及settings.py文件未变,main.py文件去掉了繁杂的sys.path添加的过程,
直接执行from Root.Credit_card.conf import settings,使用相对路径,更加
简洁方便!

Python模块介绍的更多相关文章

  1. python模块介绍- multi-mechanize 性能测试工具

    python模块介绍- multi-mechanize 性能测试工具 2013-09-13 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 3739 ...

  2. python模块介绍- xlwt 创建xls文件(excel)

    python模块介绍- xlwt 创建xls文件(excel) 2013-06-24磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 37391319 ...

  3. python模块介绍- binascii 二进制和ASCII转换

    python模块介绍-binascii二进制和ASCII转换 目录 项目简介 简介: Uu编码 Binhex编码 Base64编码 QP码 CRC校验和 二进制转换 其他实例 项目简介 Python中 ...

  4. python模块介绍- HTMLParser 简单的HTML和XHTML解析器

    python模块介绍- HTMLParser 简单的HTML和XHTML解析器 2013-09-11 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq ...

  5. python模块介绍-locustio:性能测试工具locustio

    转自:http://automationtesting.sinaapp.com/blog/m_locustio_doc python测试文章 http://weibo.com/cizhenshi?is ...

  6. python成长之路【第十八篇】:python模块介绍、模块导入和重载

    一.模块和命名空间 一般来说,Python程序往往由多个模块文件构成,通过import语句连接在一起.每个模块文件是一个独立完备的变量包,即一个命名空间.一个模块文件不能看到其他文件定义的变量名,除非 ...

  7. python模块介绍二。

    全局变量 全局变量 python在一个.py文件内部自动添加了一些全局变量 print(vars()) #查看当前的全局变量 执行结果: {'__package__': None, '__loader ...

  8. python模块介绍- SocketServer 网络服务框架

    来源:https://my.oschina.net/u/1433482/blog/190612 摘要: SocketServer简化了网络服务器的编写.它有4个类:TCPServer,UDPServe ...

  9. Python—模块介绍

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

  10. python模块介绍- binascii:二进制和ASCII互转以及其他进制转换

    20.1 binascii:二进制和ASCII互转作用:二进制和ASCII互相转换. Python版本:1.5及以后版本 binascii模块包含很多在二进制和ASCII编码的二进制表示转换的方法.通 ...

随机推荐

  1. centos7 永久修改主机名

    hostnamectl set-hostname xxx 一劳永逸,永绝后患

  2. Cocos2d-x中单例的使用

    大家都知道一个程序中只有一个导演类,eg: CCDirector *pDirectory = CCDirector::sharedDirector();//初始化导演类. 可通过 pDirectory ...

  3. 手机移动端网站开发流程HTML5

    手机移动端网站开发流程HTML5 最近一直在研究移动手机网站的开发,发现做手机网站没有想象中的那么难.为什么会这么说呢?我们试想下:我们连传统的PC网站都会做,难道连一个小小的手机网站难道都搞不定吗? ...

  4. IDT 信息设计工具使用

    IDT 大多使用于接外系统数据,也就是非SAP 系统数据库.虽然SAP BW 里有数仓概念,接外部系统的视图.集中在使用建模,query ,再通过BO来展示.可是有些我们需要直连数据库,取一两张表相对 ...

  5. 【Codeforces】Round #460 E - Congruence Equation 中国剩余定理+数论

    题意 求满足$na^n\equiv b \pmod p$的$n$的个数 因为$n \mod p ​$循环节为$p​$,$a^n\mod p​$循环节为$p-1​$,所以$na^n \mod p​$循环 ...

  6. Django:locals()小技巧

    locals()返回一个包含当前作用域里面的所有变量和它们的值的字典. 所以可以把views改写为 def current_datetime(request):     current_date = ...

  7. 【LeetCode】063. Unique Paths II

    题目: Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. H ...

  8. Virtualenwrapper

    1. Introduction Virtualenvwrapper is a set of extensions to Ian Bicking's virtualenv tool. The exten ...

  9. 创建maven parent project & module project

    1.命令方式: 1)Create the top-level root: mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo.arc ...

  10. 02_SQliteOpenHelper介绍&oncreate方法介绍

    file:///D:/BaiduNetdiskDownload/adt-bundle-windows-x86_64_20140101/adt-bundle-windows-x86_64_2014010 ...