• 13.Python模块与包


    模块的概念:

    一个.py文件就称为一个模块

    导入模块中类或函数的方式:

    module1.py

    def output():
        print('hello neuedu')
    
    • 1
    • 2

    ###方式一:import 模块名

    使用时:模块名.函数名()

    import module1
    module1.output()
    
    • 1
    • 2

    ###方式二 :from 模块名 import 函数名

    使用时:函数名()

    from module1 import output
    output()
    
    • 1
    • 2

    ###方式三: from 模块名 import *

    使用时:函数名()

    from module1 import *
    output()
    
    • 1
    • 2

    ###方式四:from 模块名 import 函数名 as tt(自定义)
    注意原来的函数名将失效

    使用时:tt()

    from module1 import output as tt
    tt()
    
    • 1
    • 2

    可以在模块当中定义一个变量__all__,指定导出的函数子集:

    使用__all__的影响: 后面的[]里面写什么函数名,使用from 模块名 import *方式导入时导入什么 __all__如果没有这个变量将全部导入(__all__仅限 于from 模块名 import *这种导入方式)

    加__all__示例:

    __all__=['output']
    def output():
        print('hello neuedu')
    
    def output2():
            print('hello output2')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    以下代码报错

    from module1 import *
    output2()
    
    • 1
    • 2

    包的概念

    概念:包就是一个文件夹,里面包含了若干py文件以及一个_init_.py文件。

    module3.py

    def output():
        print('hello neuedu')
    
    def output2():
            print('hello output2')
    
    • 1
    • 2
    • 3
    • 4
    • 5

    导入包中函数,以及模块的方式:

    方式一:from 包名 import 模块名

    使用时:模块名.函数名()

    from neuedu import module3
    module3.output()
    
    • 1
    • 2

    方式二:from 包名.模块名 import 函数名

    使用时:函数名()

    from neuedu.module3 import output
    output()
    
    • 1
    • 2

    方式三 :import 包名.模块名

    使用的时候 包名.模块名.函数名()

    import neuedu.module3
    neuedu.module3.output()
    
    • 1
    • 2

    方式四:from 包名 import *

    前提是:将 init.py 文件中写入__all__变量(写入方式同模块导入的写入方式) 。 变量当中写入哪个模块则导入哪个模块,不写则什么都不导入
    使用时:模块名.函数名()
    _init_.py

    __all__ = ['module3']
    
    • 1
    from neuedu import *
    module3.output()
    
    • 1
    • 2

    方式五:import 包名

    前提是:在包里面的__init__.py 文件里写入 from . import 模块名 init.py里面导入哪个模块 通过本方式就能使用哪个模块

    使用时:包名.模块名.函数名()
    _init_.py

    from . import module3
    
    • 1
    import neuedu
    neuedu.module3.output()
    
    • 1
    • 2
  • 相关阅读:
    零经验,小白变大厨!
    Python之读写文件
    【js逆向实战】某讯漫画网站图片逆向
    关键字this的指向
    deepTools对ChIP-seq数据可视化
    GEE:矢量数据与栅格数据的面积计算
    【C++】string类
    Scala---方法与函数
    react实现websocket消息推送
    Python爬虫——Selenium 浏览器交互与异常处理
  • 原文地址:https://blog.csdn.net/douyh/article/details/126604119