• 复习5


    为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里

    最大的好处是大大提高了代码的可维护性。

    编写代码不必从零开
    始。当一个模块编写完毕,就可以被其他地方引用

    使用模块还可以避免函数名和变量名冲突

    ,尽量不要与内置函数名字冲突。

    ?为了避免模块
    名冲突,Python 又引入了按目录来组织模块的方法,称为包(Package

    每一个包目录下面都会有一个__init__.py 的文件,这个文件是
    必须存在的,否则,Python 就把这个目录当成普通目录,而不是一个包。
    __init__.py 可以是空文件,也可以有 Python 代码,因为__init__.py 本
    身就是一个模块,而它的模块名就是 mycompany

    自己创建模块时要注意命名,不能和 Python 自带的模块名称冲突

    sys 模块有一个 argv 变量,用 list 存储了命令行的所有参数。argv 至少
    有一个元素,因为第一个参数永远是该.py 文件的名称,

    这种 if 测试可以让一个模块通过命令行运行时执行一
    些额外的代码,最常见的就是运行测试。

    if __name__=='__main__':     test()

    类似__xxx__这样的变量是特殊变量,可以被直接引用,但是有特殊用途,
    比如上面的__author__,__name__就是特殊变量

    模块定义的文档注释也可以用特殊变量__doc__访问

    类似_xxx 和__xxx 这样的函数或变量就是非公开的(private),不应该被
    直接引用

    外部不需要引用的函数全部定义成 private,只有外部需要引用的函数才
    定义为 public。

    也是一种非常有用的代码封装和抽象的方法

    之所以我们说,private 函数和变量“不应该”被直接引用,而不是“不能”
    被直接引用,是因为 Python 并没有一种方法可以完全限制访问 private
    函数或变量,但是,从编程习惯上不应该引用 private 函数或变量。

    ,Python 解释器会搜索当前目录、所有已安装的内置模块和
    第三方模块,搜索路径存放在 sys 模块的 path 变量中:

    一是直接修改 sys.path,添加要搜索的目录:
    >>> import sys >>> sys.path.append('/Users/michael/my_py_scripts')
    这种方法是在运行时修改,运行结束后失效。

    第二种方法是设置环境变量 PYTHONPATH,该环境变量的内容会被自动添
    加到模块搜索路径中。设置方式与设置 Path 环境变量类似。注意只需
    要添加你自己的搜索路径,Python 自己本身的搜索路径不受影响

  • 相关阅读:
    [CF845G]Shortest Path Problem?
    [洛谷P4149][IOI2011]Race
    [洛谷P4178]Tree
    [AtCoder AGC27A]Candy Distribution Again
    [洛谷P3806]【模板】点分治1
    [洛谷P2634][国家集训队]聪聪可可
    [CF280C]Game on Tree
    [洛谷P3338][ZJOI2014]力
    [CF438D]The Child and Sequence
    [CF609E]Minimum spanning tree for each edge
  • 原文地址:https://www.cnblogs.com/charles7987/p/10166017.html
Copyright © 2020-2023  润新知