• (11)python 模块和包


    一、导入模块和包

    模块相当于一个.py文件,包相当于带有个__init__.py一个文件夹,既可按模块导入也可按包导入。

    1.导入模块或包

    import 包名或模块名 (as 别名),包名或模块名 (as 别名)

    2.导入模块或包下的程序单元

    from 包名或模块名 import 程序单元 (as 别名),程序单元 (as 别名)

    如果导入的是模块,程序单元指的是py文件下的变量、方法、类

    如果导入的是包,程序单元指的是包中的py文件

    3.两种方式导入的区别

    用import方式导入,引入的方法需要带上模块名

    用from方式导入,引入的方法不需要带模块名

    例如:有两个文件 a.py和b.py

    b.py

    def dog():
        print('汪汪汪')
    def cat():
        print('喵喵喵')
    class student:
        age=18
        name='tom'
        def address(self):
            print('湖北路')

    a.py 用import方式引入

    import b
    b.dog()
    b.student.address("")

    a.py用from..import方式

    from b import *
    b.dog()
    b.student.address("")

    4.部分导入

    (1)指定导入的模块或方法

    对于模块 部分导入指的是导入某个变量方法或类

    from b import dog,student
    dog()
    student.address("")
    cat()#报错

    (2)使用内置__all__

    b.py

    def dog():
        print('汪汪汪')
    def cat():
        print('喵喵喵')
    class student:
        age=18
        name='tom'
        def address(self):
            print('湖北路')
    __all__=['dog','student']

    a.py

    from b import *
    dog()
    student.address("")
    cat()#报错

    但是可以使用局部引入

    from b import dog,student,cat
    dog()
    student.address("")
    cat()

     二、定义包

    创建一个 module1文件夹,里面创建两个文件

    hello.py

    def hello():
        print('hello')

    hi.py

    def hi():
        print('hi')

    (1)用.子模块方式导入

    import module1.hi
    module1.hi.hi()

    (2)或者创建__init__文件

    __init__.py

    from . import hi #从当前包中导入hi模块
  • 相关阅读:
    【习题 6-10 UVA
    【习题 6-9 UVA
    【习题 6-8 UVA
    【NOIP2016练习】T1 挖金矿(二分答案)
    O(n)求1-n的逆元
    【NOIP2016练习】T1 string (计数)
    【NOIP2016练习】T2 跑跑步 (数论)
    【NOIP2016练习】T3 tree (树形DP)
    【CF679B】Theseus and labyrinth(数学,贪心)
    【NOIP2016练习】T2 旅行(树形DP,换根)
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/8149958.html
Copyright © 2020-2023  润新知