zoukankan      html  css  js  c++  java
  • python全栈脱产第16天------模块循环导入问题、区分python文件类型的途径、文件的搜索路径、软件开发的目录规范

    一、模块的循环导入问题

      就是执行文件中被导入文件同时又导入了另一个文件,而调用的变量在调用时又没有被定义

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

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

    二、区分python文件的两种途径

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

      当文件被导入时:__name__=='模块名'

    三、文件的搜索路径

      优先级:1.内存中加载过的

          2.内置模块

          3.sys.path(第一个值是当前执行文件所在的文件夹,且所有被导入的模块参照环境变量sys.path都是以执行文件为准的)

            方案一:import sys

                sys.path.append(r'文件路径')

                import 被导入文件名

            方案二:from 文件名 import 被导入文件名

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

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

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

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

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

          优点:导入更简单

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

    四、软件开发的目录规范

      程序

      |

      ----bin

      |  |

      |  ----start.py

      |

      ----conf

      |  |

      |  ----setting.py

      |

      ----core

      |  |

      |  ----src.py

      |    |

      |    ----def register():

      |        print(‘注册’)

      |      def login():

      |        print('登录')

      |     def shopping():

      |        print('购物')

      |     def pay():

      |        print('支付')

      |     def transfer():

      |        print('转账')

      |     def run():

      |        print('运行')

      |

      ----db

      |  |

      |  ----db.txt

      |

      ----lib

      |  |

      |  ----common.py

      |

      ----log

      |  |

      |  ----transcation.log

      | 

      Readme

  • 相关阅读:
    快速幂 快速乘法
    扩展欧几里得学习笔记
    求逆序数数目(树状数组+离散化)
    隐式图的遍历
    随机数生成
    推倒重来
    动态规划初步
    子集生成
    东大oj1155 等凹函数
    P1278 单词游戏
  • 原文地址:https://www.cnblogs.com/zhouyi0316/p/9445890.html
Copyright © 2011-2022 走看看