python 模块的概念总结
目录
1 .一模块简介
2 .模块定位
3 .模块制作
4 .模块中的_all_
5. 模块中的包
内容 :
一模块简介
概念:
在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块.
import :
在Python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始的地方用import math来引入。
形如:
import socket
要是调用模块里的函数,格式是:
模块名.函数名
from …import…
用from引入模块中的函数,或者类全局变量,都可以 .
from 模块名 import 函数名1,函数名2....
这样引入的好处是,不用加模块名调用了
但是 : 通过这种方式引入的时候,调用函数时只能给出函数名,不能给出模块名,但是当两个模块中含有相同名称函数的时候,后面一次引入会覆盖前一次引入。也就是说假如模块A中有函数function( ),在模块B中也有函数function( ),如果引入A中的function在先、B中的function在后,那么当调用function函数的时候,是去执行模块B中的function函数。
from 模块名 import *可以引入这个模块中的全部,注意是全部
可以使用as取别名
二 模块定位
当你导入一个模块,Python解析器对模块位置的搜索顺序是:
- 当前目录
- 如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。
- 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
- 模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。
三 模块制作
python中 一个模块就好比一个文件 , 自己可以定义模块
自己写的文件可以使用 if _name_ == ‘main’ , 运行代码检测 , 就是name变量,只在当前这个文件的时候 name是等于main的 , 被引入到别的文件里,就不是’main’了,使用
四 模块中的_all_
如果一个文件中有__all__变量,那么也就意味着这个变量中的元素,不会被from xxx import *时导入
_all_ =['test','test1']
列表里的是本文件的两个函数, 写在变量all里面 , 不会被from xxx import *时导入
五 模块中的包
有2个模块功能有些联系 , 所以将其放到同一个文件夹下 ,还是要一个个导入 ,
可以在那个文件夹下创建__init__.py文件 , 在init文件里写 :
_all_ = ['文件1','文件2']
这样 from 文件夹 import * 就一起把这俩个文件都导入了
总结 :
- 在__init__.py文件中,定义一个__all__变量,它控制着 from 包名 import *时导入的模
- init.py为空 , 仅仅是把这个包导入,不会导入包中的模块
推荐阅读
-
python 模块的概念总结
-
python datetime 模块的部分简单操作
-
从零开始的Python学习Episode 13——常用模块
-
python安装新的第三方库 4种常见方式总结
-
写Tensorflow遇到的bug和常用Python方法总结
-
Python中io模块下的StringIO和BytesIO
-
学习python的第十八天(模块导入及使用,关键字,模块搜索路径,python文件的两种用途)
-
从7点到9点写的小程序(用了模块导入,python终端颜色显示,用了点局部和全局可变和不可变作用域,模块全是自定义)
-
总结Python连接CS2000的详细步骤
-
python偏函数的实例用法总结