廖雪峰Python总结3

Posted pythonlearing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了廖雪峰Python总结3相关的知识,希望对你有一定的参考价值。

1.模块简介

为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件中,这样每个文件包含的代码相对来说就比较少。一个.py文件就称之为一个模块(Module)。

使用模块的好处:

  • 提高了代码的可维护性
  • 代码不需要从零开始编写
  • 避免了函数名和变量名冲突(我们在自己编写模块时,不必考虑会和其他模块冲突,但是我们也要注意,不要与内置函数冲突)

同时引入了包按目录来组织模块的方法。引入了包以后,只要顶层包名不与别人冲突,那么所有的模块都不会与别人冲突。比如同有abc.py,但是一个是hzw.abc.py,一个是xd.abc.py。

每个包目录下都有一个__init__.py文件,这个文件是必须存在的,否则python就把这个目录当成普通目录,而不是一个包。__init__.py可以是空文件,也可以有Python代码。

也可以有多级目录。

 

2.使用模块

#!/usr/bin/env python3
# -*- conding: utf-8 -*-        #第一第二行是标准注释

a test module                      #模块的文档注释

__author__ = Hzw              #作者名称

以上的就是Python的标准文件模块。

#!usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun Oct  7 20:34:27 2018

@author: 18292
"""

import sys

def test():
    args=sys.argv
    if len(args)==1:
        print("Hello, World!")
    elif len(args)==2:
        print("Hello",args[2])
    else:
        print("Too many arguement!")
        
if __name__==__main__:
    test()

技术分享图片

用命令行运行hello.py看看:

$ python3 hello.py
Hello,World!
$python hello.py Hzw
Hello, Hzw

 

3.作用域

一个模块中,我们定义了许多函数和变量,但是有的函数和变量我们希望给别人使用,有的函数和变量我们仅仅希望自己在模块内部使用。在python中,是使用_前缀是实现。

类似于_abc, __abc等

 

4.模块搜索路径

当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错。python解释器会搜索当前目录,所有已安装的内置模块和第三方模块,搜索路径放在sys的path变量中:

若想添加自己的搜索目录:

  • 直接修改sys.path,添加要搜索的目录。(这种方法是在运行时修改,运行结束后失效)。
  • 设置环境变量PYTHONPATH,该环境变量内容会被自动添加到模块搜索路径中。

 

以上是关于廖雪峰Python总结3的主要内容,如果未能解决你的问题,请参考以下文章

廖雪峰Python总结1

python 3 廖雪峰博客笔记 python特性

python 3 廖雪峰博客笔记 python解释器

廖雪峰的Python3教程: 章节1,章节2,章节3

廖雪峰Python总结5

python3 基础 廖雪峰教程笔记-3