当前位置 博文首页 > zy010101博客:Python——模块

    zy010101博客:Python——模块

    作者:[db:作者] 时间:2021-06-11 21:12

    Python中使用import机制来引入模块,和C语言的头文件是类似的,不过没有头文件那么多的注意事项。import机制相对而言是更加合理的。

    将函数存储在称为模块的独立文件中,再将模块导入到主程序中。import 语句允许在当前运行的程序文件中使用模块中的代码。一个简单的例子如下所示,首先在同一个目录下创建两个文件,分别是main.py和Hello.py。然后分别写上如下内容。

    # Hello.py
    def Hello():
        print("Hello World!")
    
    # main.py
    import Hello        # 导入整个模块
    
    
    Hello.Hello()

    执行main.py文件,即可看到Hello.py中的Hello函数被调用。结果如下所示:

    Python 读取这个文件时,代码行 import Hello让 Python 打开文件 Hello.py,并将其中的所有函数都复制到这个程序中。你看不到复制的代码,因为在这个程序即将运行时,Python 在幕后复制了这些代码。?

    然后,你使用modulename.functionname()就可以使用相关函数了。这点是非常方便的。当然了,有时候你并不想导入某个模块的所有功能,那么可以使用下面的方式来导入你想使用的函数。例如:

    # Hello.py
    def Hello():
        print("Hello World!")
    
    
    def NoHello():
        print("???")
    
    
    def Hi():
        print("Hi")
    # main.py
    from Hello import NoHello, Hello    # 导入Hello模块的NoHello函数和Hello函数
    
    Hello()
    NoHello()

    执行main.py之后,结果如下所示:

    使用from module import function导入之后,就可以用函数名来使用函数,不需要使用module.function的方式了。考虑到如下情形:“如果要导入函数的名称可能与程序中现有的名称冲突,或者函数的名称太长,可指定简短而独一无二的别名:函数的另一个名称,类似于外号。要给函数取这种特殊外号,需要在导入它时指定”。如下所示:

    from Hello import Hello as HO       # 将导入的Hello函数起别名为HO
    
    
    HO()

    使用HO即可调用Hello模块中的Hello函数。执行结果如下所示:

    既然可以给模块内的函数指定别名,其实也可以给模块指定别名。如下所示:

    import Hello as H       # 将导入的模块Hello起别名为H
    
    
    H.Hi()

    有的时候,我们为了方便,不想写模块名(即使是起了简短别名),想直接使用函数名来调用函数。Python也提供了这样的导入语法,使用*号即可。如下所示:

    from Hello import *     # 导入Hello模块的所有函数
    
    
    Hello()
    NoHello()
    Hi()

    程序执行结果如下所示:

    但是这种方式仅限于你自己写的小型模块,而不适用于所有模块。

    总结

    最后需要说明的是,所有import语句都应当放在文件开始处,而不是哪里用,在哪里import。

    模块本身就是一个命名空间。

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    下一篇:没有了