zoukankan      html  css  js  c++  java
  • 模块和包

    一.模块

    1.一个.py文件就是一个模块

    2.导入模块:

    (1).同目录下

    from py文件名 import 类/函数

    (2).不同目录下

    from 目录名.py文件名 import 类/函数

    3.示例程序:

    文件结构:

    |-sub
      |-class_test.py
    |-test.py
    

      

    class_test.py

    class Dog:
        def say_hello(self):
            print('hello world')
    
        @staticmethod
        def say():
            print('hello')
    

      

    test.py

    if __name__ == '__main__':
        dog = Dog()
        dog.say_hello()
        Dog.say()
    

      

    二.包

    1.一个目录,且目录中包含__init__.py文件,则称之为包

    2.包内引用模块:

    from module import class/function

    外部引用包:
    from 包名.module import class/function

    3.如果需要模糊导入,则需要在__init__.py中定义__all__ = ['模块1', '模块2', ....]

    外部则可以模糊导入:

    from 包名.module import *

    4.示例程序

    文件结构:

    |-package_a
      |-__init__.py
      |-handle.py
      |-log.py
    |-data.py
    

      

    log.py:

    def log(fun):
        def wrapper(*args, **kwargs):
            print('call: %s' % fun.__name__)
            return fun(*args, **kwargs )
        return wrapper
    

      

    handle.py:

    @log
    def add(x, y):
        return x + y
    
    if __name__ == '__main__':
        print(add(1,2))
    

      

    __init__.py:

    __all__ = ['handle', 'log']
    

      

    data.py

    from package_a import *
    
    print(handle.add(10, 20))
    

      

  • 相关阅读:
    Eclipse中的常见设置
    Maven配置及使用总结
    启动Eclipse时,出现 “Failed to load the JNI shared library "C:Program Filesjavajdk1.7.....jvm.dll"
    Java 环境问题汇总
    Java 异常处理
    Java面向对象(二)
    Java面向对象(一)
    Java获取路径
    Java代码读取文件
    工作常用快捷键大全
  • 原文地址:https://www.cnblogs.com/itfenqing/p/10284353.html
Copyright © 2011-2022 走看看