码迷,mamicode.com
首页 > 其他好文 > 详细

模块和包

时间:2019-01-17 21:25:07      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:handle   name   程序   nbsp   sha   文件名   fun   add   sel   

一.模块

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))

  

 

模块和包

标签:handle   name   程序   nbsp   sha   文件名   fun   add   sel   

原文地址:https://www.cnblogs.com/itfenqing/p/10284353.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!