廖雪峰Python总结3

pythonlearing 2021-11-09 原文


廖雪峰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,该环境变量内容会被自动添加到模块搜索路径中。

 

发表于
2018-10-07 20:56 
小纯洁的兄弟 
阅读(251
评论(0
编辑 
收藏 
举报

 

版权声明:本文为pythonlearing原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/pythonlearing/p/9751407.html

廖雪峰Python总结3的更多相关文章

随机推荐

  1. python django bootstrap_导入 201901

    参考 http://www.liujiangblog.com/course/django/124   Admi […]...

  2. Android 自带图标库 android.R.drawable – zlb

    Android 自带图标库 android.R.drawable 在xml文件中调用。 android:tit […]...

  3. 证件照换底色

    证件照在生活、工作当中可以说是非常必须的了,常见的有红、蓝、白三种底色。这里教大家如何替换证件照底色,不用再去 […]...

  4. SVN与TortoiseSVN实战:从入门到精通

    SVN,版本控制程序,是支撑项目开发的基础工具。 在团队开发中,不管是程序员还是美工、测试等人员,都会用到SV […]...

  5. 【整理】前端实用插件整理(附官网地址)

    以下是楼主亲测好用的一些前端插件的整理 1 WebUploader 文件、图片上传插件(带图片预览,兼容ie) […]...

  6. drf序列化高级、自定义只读只写、序列化覆盖字段、二次封装Response、数据库查询优化(断关联)、十大接口、视图家族、自动补全图片链接

    目录 自定义只读 自定义只写 序列化覆盖字段 二次封装Response 数据库关系分析 断外键关联关系 ORM […]...

  7. Elasticsearch如何有惊无险地入门,我是用心的

    学习真的是一件令人开心的事情,上次分享了 Redis 入门的文章后,收到了很多小伙伴的鼓励,比如说:“哎呀,不 […]...

  8. java:Comparable比较器

    /*Comparable 是java.lang中的一个接口,所以是默认导入的,不需要显示的导入。 *如果你先直 […]...

展开目录

目录导航