系统学习编程笔记(二十二)

• 完成 Python 教程

7 模块

  • 在python中,一个.py文件就称之为一个模块(Module)。
  • 使用模块最大的好处就是大大的提高了代码的可维护性。
  • 使用模块的另一个好处就是编写代码不必从零开始。因为我们编写程序时,经常引用其他模块。
  • 使用模块还可以避免函数名和变量冲突。
  • 为了避免模块名冲突,python又引入了按目录来组织模块的方法,称为包(package)。
  • 每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,python就把这个目录当成普通目录,而不是一个包。
  • __init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是目录名
  • 自己创建模块时要注意命名,不能和python自带的模块名冲突。最好先查看系统是否已存在该模块,检查方法是在Python交互环境执行import abc,若成功则说明系统存在此模块。
  • 模块时一组python代码的集合,可以使用其他模块,也可以被其他模块使用。
  • python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立即使用。
#!/usr/bin/env python3    #标准注释,表示这个py文件可以直接在Unix/Linux/Mac上运行
# -*- coding: utf-8 -*-   #标准注释,表示.py文件本身使用标准UTF-8编码

' a test module '  #表示模块的文档注释,任何模块代码的第一个字符串都被视为模块的文档注释

__author__ = 'Michael Liao'    #使用__author__变量把作者写进去

import sys

def test():
    args = sys.argv
    if len(args)==1:
        print('Hello, world!')
    elif len(args)==2:
        print('Hello, %s!' % args[1])
    else:
        print('Too many arguments!')

# 当我们在命令行运行hello模块文件时,Python解释器把一个特殊变量__name__置为__main__,而如果在其
# 他地方导入该hello模块时,if判断将失败
if __name__=='__main__':    
    test()
  •  在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用。在Python中,是通过_前缀来实现的。
  • 外部不需要引用的函数全部定义成private,只有外部需要引用的函数才定义为public。
  • 在python中,安装第三方模块,是通过包管理工具pip完成的。
  • Mac或Linux上有可能并存Python 3.x和Python 2.x,因此对应的pip命令是pip3
  • 装上Anaconda,就相当于把数十个第三方模块自动安装好了,非常简单易用。
  • 默认情况下,Python解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在sys模块的path变量中。
>>> import sys
>>> sys.path
  • 如果我们要添加自己的搜索目录,有两种方法:一是直接修改sys.path,添加要搜索的目录,这种方法是在运行时修改,运行结束后失效。第二种方法是设置环境变量PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。注意只需要添加你自己的搜索路径,Python自己本身的搜索路径不受影响。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值