zoukankan      html  css  js  c++  java
  • 模块的介绍

     绝对导入: 以执行文件的sys.path为起始点开始导入,称之为绝对导入

            优点: 执行文件与被导入的模块中都可以使用

            缺点: 所有导入都是以sys.path为起始点,导入麻烦

     相对导入: 参照当前所在文件的文件夹为起始开始查找,称之为相对导入

            符号: .代表当前所在文件的文件加,..代表上一级文件夹,...代表上一级的上一级文件夹

            优点: 导入更加简单

            缺点: 只能在被导入的模块中使用,不能在执行文件中用

    from dir0.dir1 import m1 # 执行文件中只能用绝对导入

    m1.f1()

    模块搜索路径的优先级

     1. 内存中已经加载过的

     2. 内置模块

     3. sys.path #  第一个值是当前执行文件所在的文件夹

    模块的循环导入问题:

     解决方案一: 把循环导入的语句放到名字定义的后面

     print('正在导入m1')

    x='m1'

     from m2 import y #第一次导入m2

     解决方案二: 将循环导入语句放到函数内

    print('正在导入m1')

    def f1():

        from m2 import y,f2 #第一次导入m2

        print('m1.f1---->y: ',y)

        f2()

    x='m1'

    环境变量是以当前执行文件为准的

    强调:所有被导入的模块参照环境变量sys.path都是以执行文件为准的

    import sys

    sys.path.append(r'D:脱产三期视频day164 模块的搜索路径2dir0')

    from dir1 import m1

    m1.f1()

  • 相关阅读:
    网页日历显示控件calendar3.1
    切换“使用被动式FTP”
    href="javascript:xxx(this);"和onclick="javascript:xxx(this);"的区别
    CSS布局--上中下布局(上下固定,中间自适应)
    css字体颜色动画
    怎么让jQuery支持swipe事件
    html 5 canvas
    javascript面向对象
    WEB相关存储方式
    angularjs
  • 原文地址:https://www.cnblogs.com/xuecaichang/p/9443850.html
Copyright © 2011-2022 走看看