导入模块 和 包

一 模块

模块一共三种:

python标准库
    第三方模块
    应用程序自定义模块
  在cmd命令终端,查看命令os 来自第三方

   time模块来自第三方

模块两种执行方式:

1 用于启动执行

2 用于被调用执行

key:import module:

将执行文件(module)的目录路径插入到sys.path的第一个位置

import的两个过程:

修改调用模块的名字:import logging as log

from 模块 import 变量名
from modname import name1[, name2[, ... nameN]]

二 包(package)

模块非常多,不好找,组织模块的方式:包

在python中,包可以理解成一个文件夹,但是没一个文件夹里必须要有
一个__init__文件

2.1 from  包  import   模块    #格式

但一个py文件和另一个要被引用的文件不在同级目录里,就用    from  包  import   模块

#logger.py文件,,被引用的文件

import logging  #logging是第三方模块,#from log import func

def get_logger():    logger=logging.getLogger()    fh=logging.FileHandler(‘log.txt‘)    logger.addHandler(fh)

return logger

print(‘ok‘)get_logger()

附上目录里面包和.py 文件的树状结构

#bin是启动文件,要引用logger文件  ,不再同级别,就用from 包 import 模块
#improt logger   #直接调用,不在同级目录下,就无法引用#from 包 import 模块      #引入模块from log import logger     #要用from 这种格式引用logger模块

logger_obj=logger.get_logger()logger_obj.error(‘error‘)
 再调用sc_cal 模块的方法  ,模块名+方法(函数)   sc_cal.add()
在哪个文件里运行,哪个文件就是启动文件,就会先从这个文件开始启动

如果bin的文件位置发生变动,就要再添加路径

2.2 同级目录下的被调用模块之间的相互调用

2.3 if __name__==‘__main__‘:

这个表示执行的是此代码所在的文件。 如果这个文件是作为模块被其他文件调用,不会执行这里面的代码。 只有执行这个文件时, if 里面的语句才会被执行。 这个功能经常可以用于进行测试

1.python文件的后缀为.py;

2..py文件既可以用来直接执行,就像一个小程序一样,也可以用来作为模块被导入(比如360安全卫士,就是依靠一个个功能模块来实现的,好比360安全卫士本身框架是一个桌面,而上面的图标就是快捷方式,这些快捷方式所指向的就是这一个个功能模块)

3.在python中导入模块一般使用的是import

好了,在确定知道以上几点之后,就可以开始解释if __name__ == "__main__":这个语句了。

首先解释一下if,顾名思义,if就是如果的意思,在句子开始处加上if,就说明,这个句子是一个条件语句。学习if语句的使用是很简单的,当然想要真正灵活运用还需大量的实践。

接着是 __name__,__name__作为模块的内置属性,简单点说呢,就是.py文件的调用方式。

最后是__main__,刚才我也提过,.py文件有两种使用方式:作为模块被调用和直接使用。如果它等于"__main__"就表示是直接执行。

总结:在if __name__ == "__main__":之后的语句作为模块被调用的时候,语句之后的代码不执行;直接使用的时候,语句之后的代码执行。通常,此语句用于模块测试中使用。

2.4 from 包.包 import 模块
    from 包.包.模块 import 变量名字
    
2.5 __init__文件的作用

__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。

通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的__init__.py文件。这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。

时间: 2024-08-05 11:13:54

导入模块 和 包的相关文章

selenium + python自动化测试unittest框架学习(四)python导入模块及包知识点

在写脚本的时候,发现导入某些模块,经常报错提示导入模块失败,这里来恶补下python导入模块的知识点. 1.模块导入时文件查找顺序 在脚本中,import xxx模块时的具体步骤: (1)新建一个module (2)将module插入到sys.module (3)查找module的路径,查找的顺序为先查找当前使用导入模块的文件同一级目录,之后是python的搜索模块的路径集sys.path,最后是python所添加的默认环境变量的路径Python path (4)module查找到之后装载mod

深入探讨 Python 的 import 机制:实现远程导入模块

1.24 深入探讨 Python 的 import 机制:实现远程导入模块 所谓的模块导入( import ),是指在一个模块中使用另一个模块的代码的操作,它有利于代码的复用. 在 Python 中使用 import 关键字来实现这个操作,但不是唯一的方法,还有 importlib.import_module() 和 __import__() 等. 也许你看到这个标题,会说我怎么会发这么基础的文章? 与此相反.恰恰我觉得这篇文章的内容可以算是 Python 的进阶技能,会深入地探讨并以真实案例讲

python模块与包的导入

1. 模块与包的区别 模块,即module,一个包含python语句的.py文件就是一个模块!每个源代码文件都会自动成为模块!没有额外的语法用来声明模块. 包,又称模块包,即module package,是一个目录,该目录中包含.py文件,其中必须有一个__init__.py文件,该文件用于声明和初始化模块包.第一次在进程中导入某个目录(包)时,python会自动运行__init__.py文件中的代码.该目录会在内存中创建一个模块对象,__init__.py中赋值的变量则会变成该模块对象的属性.

【Python之模块及包的导入】

一.模块导入 1.定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码分配到一个模块里能让你的代码更好用,更易懂. 模块能定义函数,类和变量,模块里也能包含可执行的代码. 包括:内置模块,自定义模块,第三方模块: 2.作用 最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序

【Python 生成器 匿名函数 递归 模块及包的导入 正则re】

一.生成器 1.定义 生成器(generator)是一个特殊的迭代器,它的实现更简单优雅,yield是生成器实现__next__()方法的关键.它作为生成器执行的暂停恢复点,可以对yield表达式进行赋值,也可以将yield表达式的值返回. 也就是说,yield是一个语法糖,内部实现支持了迭代器协议,同时yield内部是一个状态机,维护着挂起和继续的状态. yield的功能: 1.相当于为函数封装好__iter__和__next__ 2.return只能返回一次值,函数就终止了,而yield能返

【Python3之模块及包的导入】

一.模块导入 1.定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码分配到一个模块里能让你的代码更好用,更易懂. 模块能定义函数,类和变量,模块里也能包含可执行的代码. 包括:内置模块,自定义模块,第三方模块: 2.作用 最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序

python导入自定义模块和包

参考资料 https://blog.csdn.net/gvfdbdf/article/details/52084144 http://www.runoob.com/python/python-modules.html python基本概念 python模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码分配到一个模块里能让你的代码更好用,更易懂

python之模块、包的导入过程和开发规范

摘要:导入模块.导入包.编程规范 以My_module为例,My_module的代码如下: __all__ = ['name','read'] print('in mymodule') name = '帅锅' def read(): print('in read',name) def read2(): print('in read2',name) if __name__ == '__main__': print('in mymodule') print('__name__ : ',__name_

python入门20 导入模块(引包)

import xx 导入xx模块,就是变量xx指向该模块,通过变量xx可访问模块内的所有功能 import xx.yy   与  from xx import yy 使用不一样:前者如果使用yy下的fun()需写成xx.yy.fun(), 后者只写yy.fun()即可. python包:目录下带有__init__.py文件的就是包 #coding:utf-8 #/usr/bin/python """ 2018-11-18 dinghanhua 引包 ""&