博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之路【第十八篇】:模块知识
阅读量:6156 次
发布时间:2019-06-21

本文共 2656 字,大约阅读时间需要 8 分钟。

模块,使用一些代码实现某个功能的代码集合,单独的.py文件或者是.py文件的集合就成为模块

模块类型

有三种类型的模块:

  • 内置模块:python自己提供的模块,如time模块,datatime模块等,这些模块存放在python安装路径下的Lib文件夹中
  • 自定义模块:自己编写的模块
  • 第三方模块:下载的别人已经写好的模块

第三方模块安装方法汇总

1、在IDE中安装

file---->settings---->Project Interpreter

进入上述页面后,在页面右边可以找到一个+号,点击+号,搜索需要的包,下载即可

2、pip 安装

python3中用pip3进行安装,所以需要先安装pip3,然而pip3依赖setuptools,所以需要先安装setuptools

python3中默认自带pip3,这就方便了好多,注意要把pip3的路径放到环境变量中,要不在cmd窗口找不到

pip install安装,如pip3 install requets

pip uninstall卸载

3、easy_inatall安装

windows下,上述方法不好用时,使用easy_install安装第三方库:

进入python安装目录下的Scripts文件夹,执行easy_install 模块名字
即:

cd /d d:/python_2.7.14.amd64/Scripts     这是自己的python安装路径easy_install module_name

4、源码安装

下载源码,将源码解压

在cmd窗口下,进入源码含有setup.py的路径下

python setup.py install

5、Anaconda安装

打开anaconda prompt,使用conda install命令进行安装

将pycharm中的python环境改为anaconda下的python解释器即可。

导入模块

import sys,os同时引入两个模块,但是不建议这么做

import modulename

from modulename import function
from lib.account import login(lib文件夹中有account.py文件,account文件中有login函数),也可以import lib.account
在导入的时候可以通过as设置别名

路径

在pycharm中通过sys.path可以看到模块导入的路径,如果在前面的路径中发现了模块,后面的路径就不再搜寻了,所以在自定义模块时,不要与内置模块重名unction

import sysprint(sys.path)

输出结果为:

['E:\\PythonProject\\Test1', 'E:\\PythonProject\\Test1', 'D:\\python-3.5.4.amd64\\python35.zip', 'D:\\python-3.5.4.amd64\\DLLs', 'D:\\python-3.5.4.amd64\\lib', 'D:\\python-3.5.4.amd64', 'D:\\python-3.5.4.amd64\\lib\\site-packages']

这个就是模块的搜索路径,如果里面没有自己想要的路径,可以通过如下语句添加:

sys.path.append()

对于python,导入一个模块之后,下次再导入是失效的,已经在内存里面了,这时python的一个优化机制

py文件的全局变量

对于一个.py文件,执行print(vars()) 

{
'__spec__': None, '__name__': '__main__', '__package__': None, '__builtins__':
, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001667E604C88>, '__doc__': None, '__cached__': None, '__file__': 'E:/PythonProject/Test1/模块/index.py'}

 

__name__:如果是主文件,__name__=='__main__',否则等于模块名,执行的是哪个文件,__name__==__main__,否则等于模块名,常用来做一个判断,做主函数

#!/usr/bin/env python# -*- coding:utf-8 -*-import reprint(re.__name__)print(__name__) 输出结果为: re __main__

调用主函数前,必须加if __name__ == '__main__':

 

 

__loader__

__file__:py文件自己的路径

#!/usr/bin/env python# -*- coding:utf-8 -*-#进行目录拼接,并且把新目录添加到sys.path中import osimport sys# print(__file__)获取当前目录# print(os.path.dirname(__file__))获取到上一级目录temp = os.path.dirname(__file__)b = 'bin'new_path = os.path.join(temp,b)sys.path.append(new_path)

 

__cached__:缓存,pyc文件,当前文件也为None

__builtins__:内建函数

__doc__:py文件的注释

#!/usr/bin/env python# -*- coding:utf-8 -*-'''文件的注释'''print(__doc__) 输出结果为:文件的注释

 

__spec__

__package__:当前py文件在哪个文件夹下面,用点划分,当前文件为None

这里需要详细整理的是(这两个最常用):

1、主文件

if __name__ == '__main__'

2、__file__

利用os.path.dir

os.path.join

3、内置函数在__builtins__里

常用模块学习链接:

转载于:https://www.cnblogs.com/ronghe/p/8806891.html

你可能感兴趣的文章
也问腾讯:你把用户放在什么位置?
查看>>
CSS Sprites 样式生成工具(bg2css)
查看>>
[转]如何重构代码--重构计划
查看>>
类中如何对list泛型做访问器??
查看>>
C++解析XML--使用CMarkup类解析XML
查看>>
P2P应用层组播
查看>>
Sharepoint学习笔记—修改SharePoint的Timeouts (Execution Timeout)
查看>>
CSS引入的方式有哪些? link和@import的区别?
查看>>
Redis 介绍2——常见基本类型
查看>>
asp.net开发mysql注意事项
查看>>
(转)Cortex-M3 (NXP LPC1788)之EEPROM存储器
查看>>
ubuntu set defult jdk
查看>>
[译]ECMAScript.next:TC39 2012年9月会议总结
查看>>
【Xcode】编辑与调试
查看>>
用tar和split将文件分包压缩
查看>>
[BTS] Could not find stored procedure 'mp_sap_check_tid'
查看>>
PLSQL DBMS_DDL.ALTER_COMPILE
查看>>
Activity生命周期
查看>>
高仿UC浏览器弹出菜单效果
查看>>
Ubuntu忘记密码,进不了系统的解决方法
查看>>