前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[快学Python3]模块和包

[快学Python3]模块和包

作者头像
苦叶子
发布2018-04-09 10:22:11
1.1K0
发布2018-04-09 10:22:11
举报
文章被收录于专栏:开源优测开源优测

模块

在Python中模块可以理解为颗粒度更大的组织方式,其中可以包含类、函数、变量等等资源。

而为了更好的把一些基础服务提供给大家应用,Python提供了大量的标准模块,以及大量开源的第三方模块。

我们先看一下模块导入的基本格式:

代码语言:javascript
复制
# 方式一

# 直接导入整个模块
import 模块名

# 例如导入sys模块
import sys


# 方式二

# 从模块中导入指定的类、方法等资源
from 模块名 import 模块/类/方法/变量

# 例如从sys中导入path
from sys import path


# 方式三

# 将模块中所有资源都导入
# 少用
from 模块 import *

包是一种管理Python模块命名空间的形式,采用".模块名称"。

例如一个模块的名称为X.Y,那么表示一个包X中的子模块Y。

下面我们给出一个可能的包结构组织方式:

代码语言:javascript
复制
autoTest/           # 顶层包
    __init__.py     # 初始化autoTest包    
    log/            # 日志管理子包
        __init__.py
        htmlLogger.py
        xmlLogger.py
        ...
    formats/        # 文件解析器子包
        __init__.py
        excelParser.py
        xmlParser.py
        htmlParser.py
        ...
    driver/         # 自动化测试驱动子包
        __init__.py
        wbDriver.py
        httpDriver.py
        ...
    
    ...
    
auto.py     # main入口

下面我们演示在auto.py导入autoTest中的模块,请看下述代码示例:

代码语言:javascript
复制
# -*- coding:utf-8 -*-

__author__ = u'苦叶子'

# 导入wbDriver
from autoTest.driver import wbDriver


# 如果wbDriver.py中有wbDriver类
# 那么可以这样导入wbDriver类
from autoTest.driver.wbDriver import wbDriver

if __name__ == "__main__":
    pass

小结

对于模块和包先分享这些基础知识,对于更深入的大家可以参阅官方文档或其他书籍。

总而言之,模块和包体现的是一种组织思想,有好的组织才能有好多架构设计,有好的架构设计才能有好的编码质量。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源优测 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档