详解python中的模块及包导入

yipeiwu_com6年前Python基础

python中的导入关键字:import 以及from  import

1、import

  import一般用于导入包以及模块。

  不过有个小问题:

  (1)当导入的是模块的时候是可以直接可以使用模块内的函数以及变量的,

     比如说:包名为:com.test,在这个包底下有个模块为a.py,那么当其他包中的模块想要引入a模块的时候写法为  

import com.test.a  

    在b.py中调用的方式为:com.test.a.(a中的函数或者变量),而不能直接写为a.(a中的函数名或者变量)

  (2)当导入的是包名的时候,例如:import com.test

    这个时候会发现,不能使用test包下的模块,解决方法是在test包下新建一个_init_.py文件(在pycharn中,当你新建package时,都会自动生成一个_ini_.py文件),在这个文件中书写   

from . import a

    在上面这句话中 . (点)代表的是当前文件夹。这是因为在进行import 包名的操作的时候其会调用_init_.py文件。

    这样就可以在b模块中进行调用了,本来是想省事的,想在_init_.py中使用from . import *来将test包下的模块都进行引入,然后发现并不可以,                只能一个一个模块的进行引入。

     调用方法同上,也是通过(包名.模块名.方法或者变量名)进行调用

2、from .. import ..

  一般写法为from 包名 import 模块名或者是 from 模块名 import 函数名

  这种方法写起来就比较直观一点,也不用书写_init_.py文件,只用将相应的模块名或者模块中的函数名进行引入即可,调用的时候直接通过模块名           进行调用,不能通过(包名.模块名.函数名)进行调用。

注意:上述的操作仅仅适用于在同一个文件夹下不同包之间进行调用。

总结

以上所述是小编给大家介绍的python中的模块及包导入,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Laravel+Dingo/Api 自定义响应的实现

在最近的开发开发项目中,我使用了Dingo/Api这个第三方Api库。 Dingo是个很强大的Api库, 但在开发的过程中,需要自定义响应字段。 刚开始使用Ding/Api时,返回如下...

python3 http提交json参数并获取返回值的方法

如下所示: import json import http.client connection = http.client.HTTPSConnection('spd.aiopos...

Python进程间通信 multiProcessing Queue队列实现详解

一、进程间通信 IPC(Inter-Process Communication) IPC机制:实现进程之间通讯 管道:pipe 基于共享的内存空间 队列:pipe+锁的概念--->...

Python利用itchat库向好友或者公众号发消息的实例

首先获得好友或者公众号的UserName 1. 获取好友UserName #coding=utf8 import itchat itchat.auto_login(hotReload...

Python字典,函数,全局变量代码解析

字典 dict1 = {'name':'han','age':18,'class':'first'} print(dict1.keys()) #打印所有的key值 print(...