欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 模块的概念总结

程序员文章站 2024-01-07 08:46:58
...

目录

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知识点

上一篇:

下一篇: