zoukankan      html  css  js  c++  java
  • 关于python中的module

    python中的module(模块),关于这个概念以及使用时主要有以下几点需要注意:

    (1)import xx时,会首先将这个xx module中的代码执行一遍(且仅执行一遍)

    例如:

    (2)模块包

    (3)通过import可以导入其他模块中的对象(对象包括:函数、全局变量)

    import module_name     #module_name.foo()表示调用module_name中foo函数  
    import package_name    #如果package_name中__init__.py文件中导入了具体模块module_name,那么可以用package_name.module_name来使用module_name中的功能,否则是不行的  
    import package_name.module_name  #package_name.module_name.foo()  表示使用module_name中的foo函数  
    from package_name import module_name  #module_name.foo()  表示使用module_name的foo函数  
    from package_name.module_name import foo        #直接使用foo()就可以啦  
    

    备注:import module_name.foo  是非法的

    (4)调用上级目录下的文件:

    程序结构如下:

    这里想要实现test2.py调用mod1.py和mod2.py ,做法是我们先跳到src目录下面,直接可以调用mod1,然后在lib上当下建一个空文件__init__.py ,就可以像第二步调用子目录下的模块一样,通过import  lib.mod2进行调用了。具体代码如下:

    import sys
    sys.path.append("..")
    import mod1
    import mod2.mod2

    另外一些注意的地方:

    1、比如说文件 结构如:,然后code文件里有__init__.py,现在我运行1.py,那么也会运行其他文件夹里的__init__.py(即会运行code/__init__.py),如果__init__.py中也有import操作,那么路径按照1.py来设置路径!(注意:前面也说过了,Import module_xx时,会把对应的module_xx.py编译一次,生成.pyd文件)

    参考链接:http://blog.csdn.net/wangjianno2/article/details/47375439

  • 相关阅读:
    Leetcode 15 3Sum
    Leetcode 383 Ransom Note
    用i个点组成高度为不超过j的二叉树的数量。
    配对问题 小于10 1.3.5
    字符矩阵的旋转 镜面对称 1.2.2
    字符串统计 连续的某个字符的数量 1.1.4
    USACO twofive 没理解
    1002 All Roads Lead to Rome
    USACO 5.5.1 求矩形并的周长
    USACO 5.5.2 字符串的最小表示法
  • 原文地址:https://www.cnblogs.com/zf-blog/p/7905971.html
Copyright © 2011-2022 走看看