0

0

什么是模块?Python中模块module的介绍

不言

不言

发布时间:2018-09-19 16:32:52

|

8599人浏览过

|

来源于php中文网

原创

本篇文章给大家带来的内容是关于什么是模块?Python中模块module的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一、什么是模块

python中,一个.py文件就称之为一个模块。
那么使用模块有什么好处呢?

(1)提高了代码的可维护性。

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

(3)可以避免函数名和变量名冲突,相同的函数名和变量可以存放在不同的模块中,但是要注意尽量不要与内置函数名字冲突。
  Python所有的内置函数:https://docs.python.org/3/lib...

为避免模块名冲突,python又引入了按目录来阻止模块冲突的方法,称为包(python package)。
一个abc.py的文件就是一个名字为abc的模块,一个xyz.py的文件就是一个名字为xyz的模块。假如abc和xyz这两个模块名字与其他模块冲突了,于是我们可以通过不同的包来组织模块,避免模块冲突。
则可为:

↓ mycompany      # 按目录存放
     _init_.py   # 模块名:mycompany
     abc.py      # 模块名:mycompany.abc
     xyz.py      # 模块名:mycompany.xyz

引入了包以后,只要顶层的包名不与别人冲突,那所有模块都不会与别人冲突。
每一个包目录下都会有一个_init_.py的文件,这个文件是必须存在的,否则python就把这个目录当成普通目录,而不是一个包。
_init_.py可以是空文件,也可以有python代码,因为_init_.py本身就是一个模块。

立即学习Python免费学习笔记(深入)”;

二、使用Python自带模块

Python内置了很多非常有用的模块,只要安装完毕,这些模块就可以通过import立刻导入使用。
例如下列小程序:以自建的sys模块,编写一个hello的模块hello.py 。

# !/usr/bin/env python    # -1-
# -*-coding:utf-8 -*-     # -2- 
_author_ = 'xionglp'      # 使用_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!') 
if __name__ == '__main__':
    test()

说明:

注释 # -1- :让该.py文件直接在unix/linux/mac上运行

注释 # -2- :.py文件使用标准UTF-8 编码

import sys:导入sys模块。之后便可以利用sys这个变量,访问sys模块的所有功能。
sys模块有一个argv变量,用list存储了命令行的所有参数。argv至少有一个元素,因为第一个参数永远是该.py文件的名称。

当在命令行运行hello.py文件时,python解释器就把一个特殊变量__name__置为__main__。如果在其他地方导入该模块时,if判断将失败,即if仅在此模块单独运行时生效。因此这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试。

在交互式环境(cmd)中导入该模块:

>>> import hello                         
>>> hello.test()                   
hello, world!

三、安装使用第三方模块

除了Python自己的包,还可以安装安装第三方模块。第三方包安装是通过包管理工具pip完成的。
一般来说,第三方库都会在Python官方的pypi.python.org网站注册。所以要安装一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索。比如Pillow的名称叫Pillow,因此,安装Pillow的命令就是:pip install Pillow

步骤1:找到安装Python路径中的easy_install.exe,例如:D:PythonScripts

步骤2:打开cmd,输入安装命令:easy_install.exe pip (pip安装成功)

步骤3:在cmd下执行pip,输入命令:pip install pillow

如下:

企业网站管理系统源码2.0
企业网站管理系统源码2.0

这是一款比较精美的企业网站管理系统源码,功能比较完整,比较适合新手学习交流使用,也可以作为毕业设计或者课程设计使用,感兴趣的朋友可以下载看看哦。功能介绍:该源码主要包括前台和后台两大部分,具体功能如下:网站前台模块:主要包括企业简介、新闻中心、产品展示、公司证书、工程业绩、联系我们、客户系统、人才招聘等信息的浏览,以及客户留言的功能。网站后台模块1、常规管理:企业简介、链接管理、投票管理、系统设置

下载

1765206245-5ba100e34f663_articlex.png

安装成功后便可以使用Pillow了。其他常用的第三方库还有:MySQL的驱动、用于科学计算的NumPy库等等。

pip升级:

在使用pip进行安装时,有时候会提示pip的版本太低,需要upgrade。提示会给出要执行的语句,按照提示执行就行。
执行命令:python –m pip install –upgrade pip

四、模块搜索路径

我们也可以导入自己写入的模块。当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错,例如:

2877085459-5ba1a3e73a386_articlex.png

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

>>>import sys
>>>sys.path

如果我们要添加自己的搜索目录,有两种方法:

法一:直接修改sys.path,添加要搜索的目录,这种方法是在运行时修改,运行结束后失效。

>>> import sys
>>> sys.path.append('/Users/xionglp/my_py_scripts')

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

【补充点能量】if __name__ =="__main__":

__name__:为系统变量,有两个取值。当模块是被调用执行时,取值为模块的名字;当模块是直接执行时,则该变量取值为__name__。

if __name__ == "__main__"实现的功能:可以让模块既可以导入到别的模块中用,也可以自己执行。

英文解释说:make a script both importable and executeable

例如:新建模块atest.py

# !/usr/bin/env python3
# -*- coding:utf-8 -*-
'a test module'
def addFunc(a, b):
    return a + b
print('a_test_module\'s result is ', addFunc(1, 1))

新建模块anothertest.py

# !/usr/bin/env python3
# -*- coding :utf-8 -*-
'another test module'
import  atest
print('调用another test module模块执行的结果时:',atest.addFunc(12,23))

运行:

D:\Python_project>python atest.py
a_test_module's result is  2
D:\Python_project>python anothertest.py
a_test_module's result is  2
调用another test module模块执行的结果时: 35

说明:当运行anothertest.py的时候,先运行了atest.py,再运行anothertest.py。
若不希望出现atest的内容,python提供了一个系统变量:__name__。可以把被调用的测试代码写在if语句里,当调用该module时,此时的__name__取值为该模块的名字,所以if判断为假,不执行后续代码如下:

if __name__ == '__main__':`
       print ('atest的计算结果:',addFunc(1,1))

则运行结果为:

D:\Python_project>python anothertest.py
调用another test module模块执行的结果时: 35

此时我们就得到了预期结果,不输出多余的结果。

相关文章

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

715

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

625

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

739

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

617

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1235

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

547

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

575

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

698

2023.08.11

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

3

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.6万人学习

Django 教程
Django 教程

共28课时 | 2.6万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号