zoukankan      html  css  js  c++  java
  • 零基础学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才成功

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


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

  • 相关阅读:
    学习smali
    android XML解析器全解案例
    android text中显示HTML语言
    Viewpager图片自动轮播,网络图片加载,图片自动刷新
    Android TextView内容过长加省略号,点击显示全部内容
    Android 反编译 代码注入之HelloWorld
    APK软件反编译 去广告
    【HACK】破解APK并注入自己的代码
    apk反编译生成程序的源代码和图片、XML配置、语言资源等文件
    LA 3905 Meteor
  • 原文地址:https://www.cnblogs.com/raylee2007/p/4774552.html
Copyright © 2011-2022 走看看