zoukankan      html  css  js  c++  java
  • 第十七天笔记

    一、模块的循环导入问题

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

    例如:

    M1.py          M2.py         

    print(‘正在导入m1’)   print('正在导入m2')    

    x=‘m1’          y='m2'         

    from m2 import y      from m1 import x      

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

    m1.py

    print('正在导入'm1)'

    def f1():   from m2 import y,f2

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

      f2() x='m1'

    二、区分python文件的俩种用途

    当文件被执行时__name__=='__main__' 当文件被导入时__name__=='模块名'

    三、模块的搜索路径1

    模块搜索路径的优先级

    1. 内存中已经加载过的

    2. 内置模块

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

    方案一:

    import sys

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

    print(sys,path)

    方案二:

    from 文件夹名字 import 要取的模块

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

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

    四、绝对导入和相对导入

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

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

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

    相对导入: 参照当前所在文件的文件夹为起始开始查找,称之为相对导入 #        符号: .代表当前所在文件的文件加,..代表上一级文件夹,...代表上一级的上一级文件夹

    优点: 导入更加简单

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

  • 相关阅读:
    linux开机启动详细流程图
    linux kernel map
    超全整理!Linux性能分析工具汇总合集
    MySQL 数据类型简介 创建数据表及其字段约束
    利用PyMySQL模块操作数据库
    数据表修改详细版
    数据库一对一、一对多、多对多关系
    web前端开发浅析
    前端开发感悟:日常工作与新技术
    请问有哪些前端技术可以提高页面加载速度?
  • 原文地址:https://www.cnblogs.com/zhouhao123/p/9456339.html
Copyright © 2011-2022 走看看