python中的模块,以及包的导入的总结

模块导入的方式:

  模块的概念:一个.py文件就称为一个模块

导入模块中函数的方式:

    方式一:import  模块名

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

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

      使用时:函数名()

    方式三: from 模块名 import *

      使用时:函数名()

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

      使用时:tt()

可以在模块当中定义一个变量__all__:

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

  加__all__示例:

__all__ = ["demo"]

def demo():
     print("demo")

def demo1():
     print("demo1")


 运行结果:

In [1]: from TT import *
 
In [2]: demo()
demo
 
In [3]: demo1()
-----------------------------------------------------------------------
NameError                             Traceback (most recent call last)
<ipython-input-3-a8330644fa2e> in <module>()
----> 1 demo1()
 
NameError: name 'demo1' is not defined
 
In [4]: 

  不加__all__示例:

def demo():
     print("demo")
    
def demo1():
     print("demo1")


  运行结果:

In [1]: from TT import *
 
In [2]: demo()
demo
 
In [3]: demo1()
demo1

   概念:包含了几个py文件....里面在创建一个__init__文件就是包包的导入方式

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

  方式一:from 包名  import  模块名

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

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

                 使用时:函数名()

  方式三 :import  包名.模块名      

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

  方式四:from  包名  import  *    

                 前提是:将 __init__.py 文件中写入__all__变量(写入方式同模块导入的写入方式)  变量当中写入哪个模块则

                                     导入哪个模块,不写则什么都不导入

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

  方式五:import 包名    

                  前提是:在包里面的__init__.py   文件里写入    from . import  模块名   __init__.py里面导入哪个模块

                                     通过本方式就能使用哪个模块

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

  方式六:import 包名  

                 Python2当中可以在__init__.py文件中写入 Import 模块名  通过import 包名 就可以导入__Init__.py文件中

                      写入的那个模块名(此方法仅限python2)

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

.pyc文件的介绍:

        导入时会产生一个.pyc的字节码文件,此文件是当第一次导入时python解释器会将被导入的模块预解释成字节码的文件,下次再导入时python解释器则不会做预解释而是直接拿.pyc文件使用,这样就不会每次导入时做解释的操作,节省时间,当修改模块文件的内容时,python解释器会根据.pyc文件和模块的修改时间判断有没有对模块做修改,如果模块的修改时间比.pyc文件的晚说明模块已经被修改  Python解释器会将模块重新解释成.pyc文件。

 

原文链接:https://www.cnblogs.com/kayb/p/7225764.html

另:https://baijiahao.baidu.com/s?id=1596345816517002361&wfr=spider&for=pc&isFailFlag=1

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值