zoukankan      html  css  js  c++  java
  • python学习手册笔记——24.高级模块话题

    00.把下划线放在变量名前面,可以防止客户端from *语句导入模块名时,把其中的那些变量名赋值出来。这其实时为了对命名空间的破快最小化。

    01.可以把模块顶层把变量名的字符串列表赋值给变量__all__,以达到类似于_X命名惯例的隐藏效果。

    02.__name__和__main__
    a.如果文件是以顶层程序文件执行,在启动时,__name__就会设置为字符串"__main__".
    b.如果文件被导入,__name__就会改设成客户端所了解的模块名
    一个模块的__name__变量充当一个使用模式标志,允许它编写成一个可导入的库和一个顶层脚本。

    03.import和from语句都可以扩展,让模块可以在脚本中给予不同的变量名:
    import modulename as name
    相当于:
    import modulename
    name = modulename
    del modulename

    04.模块通过内置属性显示了他们的大多数有趣的特性,因此,可很容易地白那些程序来管理其他程序。

    05.模块设计理念:需要思考那些函数要放进模块、模块通信机制等。当开始编写较大的Python系统时,这些就会变得明亮起来
    *总是在Python的模块内编写代码
    *模块耦合要降到最低:全局变量。原则就是,模块应该尽可能你和其他模块的全局变量无关,除了于从模块导入的函数和类。
    *最大化模块的粘合性:同一目标
    *模块uing该少去修改器它模块的变量。

    06.from复制变量名,而不是连接。from语句其实时在导入者的作用域内对变量名复制语句,也就是变量名拷贝运算,而不是变量名的别名机制。

  • 相关阅读:
    DC中为什么要用Uniquify?
    hdu 1596 find the safest road
    hdu2112 HDU Today
    hdu 2066 一个人的旅行
    poj 3026 Borg Maze
    poj 1979 Red and Black
    poj 1321 棋盘问题
    hdu 1010 Tempter of the Bone
    hdu 4861 Couple doubi
    codeforces584B Kolya and Tanya
  • 原文地址:https://www.cnblogs.com/aixiaoxiaoyu/p/11215684.html
Copyright © 2011-2022 走看看