• 零基础学python-模块的导入与重载


    知识点:

    1.一个xxx.py就是一个模块

    2.导入模块就是读取这个文件的内容

    3.模块是python的核心概念,大型的python程序是由多个模块堆积而成,就像乐高积木一样


    下面,我先贴上演示代码

    import sys
    print(sys.platform)# 系统平台
    print(2**100)
    x="hello world 
    "
    print(x*8)#打印8次
    temp=input("请输入")
    if temp==8:
        print("运气不错")
    else:
        print("运气不好")
    print("结束")
        
    

    通过上面代码的运行,我们将会说明以下的注意点


    注意点:

    1.import后面+文件名字,不用加.py

    2.文件命名注意不要带上“-”,因为有些时候不注意就带上了,否则会出现下面情况


    从上图可以看见,我们直接通过指令执行python-ch3-001.py是可以的,但是进入python里面,通过import就不行了


    下面,我们把python-ch3-001.py拷贝一份,命名为pythonch3001.py,也就是去掉了中间的“-”,大家看看结果


    从上图可以看见,同样的代码,不同的名字,在运行过程中出现截然不同的结果,所以大家需要注意命名的问题


    3.同一个模块导入,第一次代码全部运行,第二次很多的代码都不运行的,其实中间只是重复执行


    中间白框的地方就是第二次导入的地方

    同时,我们也尝试过在第一次导入后,修改源文件,然后第二次导入,结果跟第一次一样。


    原因是,导入操作的开销非常大,它把文件先编译成字节码,然后再导pvm上去执行,在编译的过程中,消耗资源非常多,所以,导入操作只编译执行一次,第二次只是重复执行,不再编译


    如果想再次执行完整的代码,就需要reload()这个函数,他会把源代码重新载入,然后执行一遍,但是在执行reload前,必须保证已经import那个模块

    还有,在执行reload前,请先执行from imp import reload,因为reload已经不再是内置函数,在python3里面。



    从上图可以看见,第一次reload,报错,然后import模块,再次reload才成功

    而且成功以后会有打印语句提示


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    JDK6的switch支持不是很好
    团队作业(2)
    团队作业(1)
    4月30日
    重构:改善既有代码的设计有感
    4月28日
    4月27日
    4月26日
    4月25日
    4月24日
  • 原文地址:https://www.cnblogs.com/raylee2007/p/4774552.html
Copyright © 2020-2023  润新知