python import 详解
来源:互联网 发布:农村创业软件 编辑:程序博客网 时间:2024/05/18 06:20
一、名词
模块:
模块通常是个文件,可以作为module的文件类型有”.py”、”.pyo”、”.pyc”、”.pyd”、”.so”、”.dll”。
包:
包通常是个文件夹,python中约定文件夹中有__init__.py
的默认为包,如果包的子目录中也有__init__.py
则认为是子包。
二、import
直接引入变量使用:
*uiQt.py:*# encoding: UTF-8# 获取操作系统信息模块import platformfrom qtpy import QtWidgets, QtGui, QtCore# 创建Qt应用对象qApp = QtWidgets.QApplication([])
*main.py:*//从模块uiQt中引入变量qAppfrom vnpy.trader.uiQt(模块文件名) import qApp(变量名)sys.exit(qApp.exec_())
从模块中引入类:
*eventEngine.py:*# encoding: UTF-8class EventEngine(object):
*main.py:*# 事件引擎模块from vnpy.event.eventEngine(模块文件名) import EventEngine(类名)# 创建事件引擎 ee = EventEngine()
引入包:
注意包的引入,Python会运行从父包到子包中的__init__.py
文件。下图为包目录结构:
*ctpGateway.py:*class CtpGateway(VtGateway): def __init__(self, eventEngine, gatewayName='CTP'): """Constructor""" super(CtpGateway, self).__init__(eventEngine, gatewayName)
*__init__.py:*# encoding: UTF-8from vnpy.trader import vtConstantfrom ctpGateway(模块名) import CtpGateway(类名)gatewayClass = CtpGatewaygatewayName = 'CTP'gatewayDisplayName = 'CTP'gatewayType = vtConstant.GATEWAYTYPE_FUTURESgatewayQryEnabled = True
*main.py:*# 加载底层接口from vnpy.trader.gateway(子包名) import ctpGateway(子包名)# 添加交易接口 me.addGateway(ctpGateway) //包名可作为参数传递
def addGateway(self, gatewayModule): """添加底层接口""" gatewayName = gatewayModule.gatewayName # 创建接口实例 self.gatewayDict[gatewayName] = gatewayModule.gatewayClass(self.eventEngine, gatewayName)
三、注意
如果仅是使用import的话,系统为该模块创建一个命名空间后运行代码,并创建一个该命名空间的引用对象,而如果使用from import则会直接引入当前空间。如下
# file : spam.pya = 37 # 一个变量def foo: # 一个函数 print "I'm foo"class bar: # 一个类 def grok(self): print "I'm bar.grok"b = bar() # 创建一个实例
import spam # 导入并运行模块 spam,命名空间的引用对象spam print spam.a # 访问模块 spam 的属性 spam.foo() c = spam.bar()
import datetimeprint(datetime.datetime.now())引入整个datetime包from datetime import datetimeprint(datetime.now())只引入datetime包里的datetime类
对于from package import *语句,python引入的是
__init__.py
中__all__ = ["Module1", "Module2"]
中的模块。
阅读全文
0 0
- Python Import 详解
- python中的import详解
- Python Import 详解
- Python Import 详解
- Python Import 详解
- Python import机制详解
- Python Import 详解
- Python Import 详解
- Python Import 详解
- python的import详解
- python 详解import ...
- python import 详解
- python IMPORT 详解
- python之import模块详解
- python之import模块详解
- python之import机制详解
- python之import机制详解
- Python Import 详解与datetime
- HDU
- C#(2)-------使用Log4Net记录日志
- D_D系统构建-MBR(4)代码剖析
- 自定义信号
- linux线程之间的通信
- python import 详解
- Java经典算法40例(十五)
- 浅谈前端模块开发的方法
- 前端常见的功能实现总结
- R中重复值、缺失值及空格值的处理
- 阿里云远程登陆MySql数据库连接失败
- MongoDB安装配配置为服务
- Android网络协议
- 6大设计原则之依赖倒置原则(Dependence Inversion Principle)。