当前位置: 首页 > 编程笔记 >

Python中的包和模块实例

祁修诚
2023-03-14
本文向大家介绍Python中的包和模块实例,包括了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环境变量中。

 类似资料:
  • 本文向大家介绍Python中的模块和包概念介绍,包括了Python中的模块和包概念介绍的使用技巧和注意事项,需要的朋友参考一下 模块概述 如果说模块是按照逻辑来组织 Python 代码的方法, 那么文件便是物理层上组织模块的方法。 因此, **一个文件被看作是一个独立模块, 一个模块也可以被看作是一个文件。 模块的文件名就是模 块的名字加上扩展名 .py 。 与其它可以导入类(class)的语言不

  • 问题内容: 我有一个封装与模块,并在里面。我打算将包装本身包装并自由进口: 但是,我想保留的专有使用权。那是因为它的存在仅仅是为了组织后者的内部代码。 我的第一个问题是,拥有这样的“私有”模块在Python编程中是否被接受? 如果是,我的第二个问题是,将这种意图传达给客户的最佳方法是什么?我是否在名称前加上下划线(例如)?还是声明一个子包并将所有这些模块放在那里是个好主意? 问题答案: 我确定的解

  • 包(crate) Rust 中,crate 是一个独立的可编译单元。具体说来,就是一个或一批文件(如果是一批文件,那么有一个文件是这个 crate 的入口)。它编译后,会对应着生成一个可执行文件或一个库。 执行 cargo new foo,会得到如下目录层级: foo ├── Cargo.toml └── src └── lib.rs 这里,lib.rs 就是一个 crate(入口),它编

  • 主要内容:实例,BEGIN 和 END 模块,实例,什么是 Perl 模块?,实例,Require 和 Use 函数,实例,实例,创建 Perl 模块,安装 Perl 模块Perl 中每个包有一个单独的符号表,定义语法为: 此语句定义一个名为 mypack 的包,在此后定义的所有变量和子程序的名字都存贮在该包关联的符号表中,直到遇到另一个 package 语句为止。 每个符号表有其自己的一组变量、子程序名,各组名字是不相关的,因此可以在不同的包中使用相同的变量名,而代表的是不同的变量。 从一个包

  • Perl 中每个包有一个单独的符号表,定义语法为: package mypack; 此语句定义一个名为 mypack 的包,在此后定义的所有变量和子程序的名字都存贮在该包关联的符号表中,直到遇到另一个 package 语句为止。 每个符号表有其自己的一组变量、子程序名,各组名字是不相关的,因此可以在不同的包中使用相同的变量名,而代表的是不同的变量。 从一个包中访问另外一个包的变量,可通过" 包

  • 本文向大家介绍python中sets模块的用法实例,包括了python中sets模块的用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例简单讲述了python中sets模块的用法,分享给大家供大家参考。 具体方法如下: 程序运行结果如下: 希望本文所述对大家的Python程序设计有所帮助。