美文网首页Python
Python中的import语句

Python中的import语句

作者: 逆风g | 来源:发表于2018-08-05 17:00 被阅读9次

    Python中使用import语句来导入一个模块(module),或者用来导入一个包(package),模块的实质就是一个*.py文件,实现了一定逻辑功能,包含了变量、函数、类等代码块,包的实质就是一个项目工程,里面有很多*.py文件,其中必须带有一个__init__.py文件。

    导入模块

    假设自己工程里有一个person.py文件,需要在新建的test.py文件中要用到这个文件里的work函数:

    • person.py
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    def work():
        print ‘Work!’
    
    • test.py
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    import person
    person.work()
    
    • 执行test.py,输出打印结果:
    Work!
    

    导入包

    1. 现在创建一个项目为animal,包含三个文件__init__.pydog.pycat.py
    • __init__.py为空
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    
    • dog.py
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    def play():
        print 'A dog is playing!’
    
    • cat.py
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    def play():
        print 'A cat is playing!’
    
    1. 把animal项目生成的整个文件拖到需要的项目下:




      现在需要调用dog和cat中的play函数:

    • 导入animal路径下的dog文件
      导入animal路径下的cat文件
    import animal.dog
    import animal.cat
    animal.dog.play()
    animal.cat.play()
    
    • 从animal路径下的dog文件中导入play函数,并给给它另命名为dog_play
      从animal路径下的cat文件中导入play函数,并给给它另命名为cat_play
    from animal.dog import play as dog_play
    from animal.cat import play as cat_play
    dog_play()
    cat_play()
    
    # 因为dog和cat的play名都一样,不给另命名的话,第二个play会覆盖掉第一个play
    # from animal.dog import play
    # from animal.cat import play
    # play()
    # play()
    
    1. 现在给__init__.py文件中添加点内容:
    • __init__.py
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    import cat
    import dog
    
    • 只导入animal包
    import animal
    animal.dog.play()
    animal.cat.play()
    
    • 导入animal包里的全部内容
    from animal import *
    dog.play()
    cat.play()
    
    • 或者导入animal中指定内容
    from animal import dog,cat
    dog.play()
    cat.play()
    

    相关文章

      网友评论

        本文标题:Python中的import语句

        本文链接:https://www.haomeiwen.com/subject/oqpbvftx.html