Python中的包和模块实例

一、实例和结果

1)实例的结构和具体的文件:

代码如下:

PyPackage
│  PyCommonM.py
│  __init__.py

├─p1Package
│      P1M.py
│      P1MC.py
│      __init__.py

└─p2
       P2.py
       P2M.py

2)PyCommonM.py

代码如下:

def PyCommonMF():  print "PyCommonMF"

3) P1M.py:

代码如下:

def P1MF():   print 'P1MF'

4)P1MC.py:

代码如下:

class P1MC():
  @staticmethod
  def P1MCF():  print 'P1MCF'

5)P2M.py:

代码如下:

def P2MF(): print 'P2MF'

6) P2.py:

代码如下:

import P2M
from PyPackage import PyCommonM
from PyPackage.p1Package import P1M
from PyPackage.p1Package.P1MC import P1MC

def P2F():
  print 'P2F'
 
if __name__ == '__main__':
  P2F()
  P2M.P2MF()
  P1M.P1MF()
  P1MC.P1MCF()
  PyCommonM.PyCommonMF()

7) 运行p2.py的结果:

代码如下:

P2F
P2MF
P1MF
P1MCF
PyCommonMF

二、解释

*  一个py文件为一个module,例如module: PyCommonM.py,P2M.py,P1MC.py, P1M.py 。
*  包含__init__.py的文件夹为一个package,例如package: PyPackage,p1Package。
*  可以直接使用import来引用相同目录下的其他的module, 例如p2.py中的import P2M。
*  通过from import来引用其他的目录下且属于某个package的module,例如py.py中的from PyPackage import PyCommonM 和 from PyPackage.p1Package import P1M。
*  通过from import来引用某个module中的类,例如from PyPackage.p1Package.P1MC import P1MC

注意package所在的目录必须在pythonpath环境变量中。

(0)

相关推荐

  • Python中的模块和包概念介绍

    模块概述 如果说模块是按照逻辑来组织 Python 代码的方法, 那么文件便是物理层上组织模块的方法. 因此, **一个文件被看作是一个独立模块, 一个模块也可以被看作是一个文件. 模块的文件名就是模 块的名字加上扩展名 .py . 与其它可以导入类(class)的语言不同,在 Python 中你导入的是模块或模块属性**. 模块名称空间 一个名称空间就是一个名称到对象的关系映射. 导入模块 导入模块整体(import) 方式一 复制代码 代码如下: import module1 import

  • python中安装模块包版本冲突问题的解决

    问题 最近在工作中遇到一个问题,在安装python软件包的时候,经常会遇类似这样一个问题.比如对于ipython,机子本身安装的版本是1.2.1,显然太低,不足以跑jupyter,尝试着用pip安装,却发现下载的过程一路畅通,但是安装的时候却总是会报这样一个错误. 错误提示如下: ......'Not uninstalling ipython at /usr/lib/python2.7/dist-packages, owned by OS'...... 最终显示了ipython已经成功安装,但是

  • Python中模块与包有相同名字的处理方法

    前言 在编程开发中,个人觉得,只要按照规范去做,很少会出问题.刚开始学习一门技术时,的确会遇到很多的坑.踩的坑多了,这是好事,会学到更多东西,也会越来越觉得按照规范做的重要性,规范的制定就是用来规避问题的.有时候确实应该听听有经验人的建议,不要一意孤行.这好像不是本文的重点,其实我重点是想表达,尽量按规范做事,这样会少走很多弯路. 我现在使用的主力编程语言是 Python,在接触 Python 至今,我感觉我踩的坑还是极少的,基本上没有遇到什么奇怪的问题.实际上,这并不是一件好事,不踩坑,很多躺

  • Python程序设计入门(4)模块和包

    Python语言功能非常强大,除了类之外,还有模块和包的概念,这有点像perl,此处简单说说包和模块. 一.Python中的模块 模块--其实就是我们说的库(lib)的概念,不过它不仅只是可以包含一系列函数,也可以包含类,python里是没有像C语言之类,直接include某文件的,包正是这种类似的东西. Python 引入模块的方法有两种: 1.import 模块名(实际是对应的就是 文件名.py ) 2.模块名 = __import__("模块文件名(不带扩展名)") 也可以&qu

  • Python中使用语句导入模块或包的机制研究

    这篇文章讨论了Python的from <module> import *和from <package> import *,它们怎么执行以及为什么使用这种语法(也许)是一个坏主意. 从一个模块导入全部 from <module> import * means意味着"我希望能访问<module>中我有权限访问的全部名称".例如以下代码something.py: # something.py public_variable = 42 _priv

  • Python中的包和模块实例

    一.实例和结果 1)实例的结构和具体的文件: 复制代码 代码如下: PyPackage │  PyCommonM.py │  __init__.py │ ├─p1Package │      P1M.py │      P1MC.py │      __init__.py │ └─p2        P2.py        P2M.py 2)PyCommonM.py 复制代码 代码如下: def PyCommonMF():  print "PyCommonMF" 3) P1M.py:

  • python中sklearn的pipeline模块实例详解

    最近在看<深度学习:基于Keras的Python实践(魏贞原)>这本书,书中8.3创建了一个Scikit-Learn的Pipeline,首先标准化数据集,然后创建和评估基线神经网络模型,代码如下: # 数据正态化,改进算法 steps = [] steps.append(('standardize', StandardScaler())) steps.append(('mlp', model)) pipeline = Pipeline(steps) kfold = KFold(n_splits

  • python中time包实例详解

    在python中基础的时间运用,离不开time函数的支持.这些函数为了方便调用集中放在一个地方,叫做time包.有的人会仔细追寻time包的来源,会发现它和C语言有密不可分的关系.下面我们简单介绍time包的概念,然后就包中的一些函数进行列举,并附上对应的使用方法. 1.概念 time包基于C语言的库函数(library functions).Python的解释器通常是用C编写的,Python的一些函数也会直接调用C语言的库函数. 2.time包中的函数 time.clock()返回程序运行的整

  • Python科学计算包numpy用法实例详解

    本文实例讲述了Python科学计算包numpy用法.分享给大家供大家参考,具体如下: 1 数据结构 numpy使用一种称为ndarray的类似Matlab的矩阵式数据结构管理数据,比python的列表和标准库的array类更为强大,处理数据更为方便. 1.1 数组的生成 在numpy中,生成数组需要指定数据类型,默认是int32,即整数,可以通过dtype参数来指定,一般用到的有int32.bool.float32.uint32.complex,分别代表整数.布尔值.浮点型.无符号整数和复数 一

  • Python中如何引入第三方模块

    Python中怎么使用第三方模块? 在Python可以在代码中导入模块,然后就可以使用第三方模块了. import 语句 想使用Python源文件,只需在另一个源文件里执行import语句,语法如下: import module1[, module2[,... moduleN] 当解释器遇到import语句,如果模块在当前的搜索路径就会被导入. 搜索路径是一个解释器会先进行搜索的所有目录的列表.如想要导入模块hello.py,需要把命令放在脚本的顶端: #!/usr/bin/python # -

  • python中翻译功能translate模块实现方法

    现如今,各个国家交流密切,通过翻译使我们打破了语言壁垒,而翻译在互联网上的存在也尤为普遍.python中执行翻译操作的包是translate包,通过下载安装translate包,使用translate模块可以在python中实现多种语言直接的相互翻译. 1.下载translate包 https://pypi.org/project/translate/ 2.使用pip安装translate包 pip install translate 3.使用translate模块实现翻译功能 from tra

  • python中numpy包使用教程之数组和相关操作详解

    前言 大家应该都有所了解,下面就简单介绍下Numpy,NumPy(Numerical Python)是一个用于科学计算第三方的Python包. NumPy提供了许多高级的数值编程工具,如:矩阵数据类型.矢量处理,以及精密的运算库.专为进行严格的数字处理而产生.下面本文将详细介绍关于python中numpy包使用教程之数组和相关操作的相关内容,下面话不多说,来一起看看详细的介绍: 一.数组简介 Numpy中,最重要的数据结构是:多维数组类型(numpy.ndarray) ndarray由两部分组成

  • Python多线程threading和multiprocessing模块实例解析

    本文研究的主要是Python多线程threading和multiprocessing模块的相关内容,具体介绍如下. 线程是一个进程的实体,是由表示程序运行状态的寄存器(如程序计数器.栈指针)以及堆栈组成,它是比进程更小的单位. 线程是程序中的一个执行流.一个执行流是由CPU运行程序代码并操作程序的数据所形成的.因此,线程被认为是以CPU为主体的行为. 线程不包含进程地址空间中的代码和数据,线程是计算过程在某一时刻的状态.所以,系统在产生一个线程或各个线程之间切换时,负担要比进程小得多. 线程是一

  • python中set()函数简介及实例解析

    set函数也是python内置函数的其中一个,属于比较基础的函数.其具体介绍和使用方法,下面进行介绍. set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集.差集.并集等. set,接收一个list作为参数 list1=[1,2,3,4] s=set(list1) print(s) #逐个遍历 for i in s: print(i) 输出: set([1, 2, 3, 4]) 1 2 3 4 使用add(key)往集合中添加元素,重复的元素自动过滤 list1

  • 浅析python中numpy包中的argsort函数的使用

    概述 argsort()函数在模块numpy.core.fromnumeric中. 在python中排序数组,或者获取排序顺序的时候,我们常常使用numpy包的argsort函数来完成. 如下图所示,是使用python获取到数组中的排序的顺序. data=numpy.array([1,2,3,4,5]) datasort=numpy.argsort(data) datasort Out[39]: array([0, 1, 2, 3, 4], dtype=int64) data Out[40]:

随机推荐