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

  • 相关阅读:
    在Python中使用多进程快速处理数据
    深度学习中Embedding层有什么用?
    split("\s+") 和 split(" +") 有什么区别?
    python merge、concat合并数据集
    机器学习中常见的损失函数
    XGBoost、LightGBM的详细对比介绍
    $(function(){})的执行过程分析
    jQuery.extend({...})分析
    jquery核心功能分析
    print打印网页相关
  • 原文地址:https://www.cnblogs.com/zhouyi0316/p/9445890.html
Copyright © 2011-2022 走看看