zoukankan      html  css  js  c++  java
  • 学习日记0808

    1 模块的循环导入问题

      出现的问题

       m1.py

       print('m1')

       from m2 import y

       x='m1'

       

       m2.py

       print('m2')

       from m1 import x

       y='m2'

        

       run.py

       import m1

      解决方案一:

      将导入的代码放到程序的最后面

      

       m1.py

       print('m1')

       x='m1'

          from m2 import y

       

       m2.py

       print('m2')

       y='m2'

       from m1 import x

        

       run.py

       import m1

      解决方案二:

       将导入的模块的代码放到函数中

        

       m1.py

       print('m1')

       def f1():

        print('执行了f1')

         from m2 import y

       x='m1'

       

       m2.py

       print('m2')

       def f1():

        print('执行了f2')

         from m1 import x

       y='m2'

        

       run.py

       import m1

       m1.f1

       m1.x

       m1.y

    2 区分python文件两种用途

      当文件被执行的时候:__name__='__main__'

      但文件被调用的时候:__name__='模块名'

      在自定义模块的最后加

      if __name__ = '__main__':

        功能名()

        功能名()

    3 模块的搜索路径

      模块搜索路径的优先级:

      1 内存中已经加载的

      2 内置的

      3 sys.path-------------第一个值是当前执行文件的所在目录

      调用模块时如何查找路径

      绝对导入

      方案一:

        import sys  

        sys.path.append('被调用模块的路径')

      方案二:

        from  第一级文件夹.第二级文件夹......... import 模块名

      优点:执行文件和自定义模块都可以使用

      缺点:必须以执行文件为准,导入麻烦

      相对导入

      参照当前文件为起始路径开始查找

      符号 . 表示当前文件夹 ..表示上级文件夹 ...表示上级的上级文件夹

      优点:导入简单

      缺点(也是注意点):相对导入只能在模块中使用,被执行文件中不能使用相对导入

    软件开发的目录规范:

      ATM

        bin  存放可执行文件(整个程序的入口)

        conf 配置文件

        lib  自定义模块文件

        core 逻辑文件

        log  日志文件

        db  数据库文件

        Readme  软件的说明

  • 相关阅读:
    window查看已保存过的wifi的密码
    js 多个数组取交集
    macOS APP 窗口焦点监听
    proxifier注册码
    天才算法之睡眠排序(C#实现)
    Tomcat 7使用AJP协议设置问题
    nginx启动报错(1113: No mapping for the Unicode character exists in the target multi-byte code page)
    八皇后的n种放置方法
    insufficient permission for adding an object to repository database .git/objects
    centos下搭建php开发环境(lamp)
  • 原文地址:https://www.cnblogs.com/jianhaozhou/p/9442819.html
Copyright © 2011-2022 走看看