zoukankan      html  css  js  c++  java
  • day23 模块引入的一些说明

      模块导入多次也是只导入一次
      sys.modules里面会查看有没有被导入
      导入后的模块内部的函数,变量就都可以拿来用了
      给模块起别名,可以提高代码的兼容性
        import time as t
        但是被起别名的模块之前的名字无法再被调用
      为增加可读性,遵循原则
      模块的引入最好不要一起引入
      而且导入的时候最好在一开始的时候导入
      导入的模块的顺序,先导入内置的,在导入扩展的比如django,最后在导入自定义的
      可导入整个模块,或者只导入模块的单个变量或者函数,导入的时候变量名完全不冲突的
        import demo
        from demo import money,read
      用*的时候很危险会导致变量重名,在被调用的时候如果重命名会被覆盖的,重名会冲突


    所有的模块导入都应该尽量往上写
    内置模块
    扩展模块
    自定义模块
    模块不会重复被导入 : sys.moudles
    从哪儿导入模块 : sys.path
    import
    import 模块名
    模块名.变量名 和本文件中的变量名完全不冲突
    import 模块名 as 重命名的模块名 : 提高代码的兼容性
    import 模块1,模块2

    from import
    from 模块名 import 变量名
    直接使用 变量名 就可以完成操作
    如果本文件中有相同的变量名会发生冲突
    from 模块名 import 变量名字 as 重命名变量名
    from 模块名 import 变量名1,变量名2
    from 模块名 import *
    将模块中的所有变量名都放到内存中
    如果本文件中有相同的变量名会发生冲突
    from 模块名 import * 和 __all__ 是一对
    没有这个变量,就会导入所有的名字
    如果有all 只导入all列表中的名字
    模块一导入就会执行,有时候会执行很多你不想让他马上就执行的东西,就可以用__name__来筛选出来
    当我们直接执行这个模块本身的时候,__name__ == '__main__'
    当我们执行其他模块,在其他模块中引用这个模块的时候,这个模块中的__name__ == '模块的名字'
    利用if判断是否等于__main__可以进行区分何时执行
  • 相关阅读:
    洛谷P2146 [NOI2015]软件包管理器
    洛谷P3038 [USACO11DEC]牧草种植Grass Planting
    洛谷P2831 愤怒的小鸟
    洛谷P1084 疫情控制
    洛谷P3258 [JLOI]2014松鼠的新家
    洛谷P1084 运输计划
    洛谷P2051 [AHOI2009]中国象棋
    洛谷P1438 无聊的数列
    洛谷P1312 Mayan游戏
    luogu P1038 神经网络
  • 原文地址:https://www.cnblogs.com/shijieli/p/9913161.html
Copyright © 2011-2022 走看看