包的使用(python3入门)

1 什么是包
包的本质就是一个包含有__init__.py文件的文件夹
包是模块的一种形式
所以包用来被当作模块导入使用
导入包其实就是在导入包下的__init__.py


2 为何要用包
因为功能太多了,一个py文件写不下了,所以就打包成为一个众多功能的集合体

3 如何使用包
请看run

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import sys
sys.path.append(r'/Users/lich/PycharmProjects/OldBoy_3rd_python/python开发之路-作业/04 第四篇:模块与包/博客笔记')


import aaa  #aaa是指向包下的__init__.py

# print(aaa.x)

# aaa.f1()
# aaa.f2()
# aaa.f3()


aaa.f1()
aaa.f2()
aaa.f3()
run.py
#! /usr/bin/env python
# -*- coding: utf-8 -*-


print('__init__')

x = 111



#绝对导入,从顶级文件夹开始寻找,from导入子级文件夹里面的功能
# from aaa.m1 import f1
# from aaa.m2 import f2
# from aaa.bbb.m3 import f3
# from aaa.bbb import m3


#相对导入
from .m1 import f1
from .m2 import f2
from .bbb.m3 import f3
aaa/__init__.py
#! /usr/bin/env python
# -*- coding: utf-8 -*-

def f1():
    print('m1,f1')
aaa/m1.py
#! /usr/bin/env python
# -*- coding: utf-8 -*-


def f2():
    print('m2,f2')
aaa/m2.py
#! /usr/bin/env python
# -*- coding: utf-8 -*-



from aaa.bbb.m3 import f3
aaa/bbb/__init__.py
def f3():
    print('m3.f3')
aaa/bbb/m3.py

总结:你在哪个文件中要用功能x,就到这个文件所在目录的__init__.py中将功能x导入即可。

猜你喜欢

转载自www.cnblogs.com/lich1x/p/10150033.html