Python中怎么控制from xxx import *导入的成员

技术Python中怎么控制from xxx import *导入的成员本篇内容介绍了“Python中怎么控制from xxx import *导入的成员”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下

本文介绍了Python中“如何控制从xxx import *导入的成员”的知识。很多人在实际案例操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

控制from xxx import *导入的成员

默认情况下,将导入所有成员。但是您可以修改__all__变量来控制可以导入哪些成员。变量是字符串列表(或元组),内部元素是可以导入的成员名称。

例如,请参见下图:test1模块中有三个名为、年龄和身高的成员,而__all__变量保存了这三个成员名称。Test2模块从test1导入*导入test1的所有成员。此时,test2模块通常可以使用test1的三个成员。

Python中怎么控制from  xxx  import  *导入的成员

看下图:test1模块中的__all__变量保存了三个成员名称,但是标注了成员高度(注意列表的写法,一个元素一行,用ctrl/标注不能导入的成员非常方便。如果所有内容都写在一行,内部元素不能被注释,只能被删除),test2模块从test1导入*导入test1的所有成员。此时只能使用姓名和年龄成员,不能使用身高成员。

Python中怎么控制from  xxx  import  *导入的成员

注意:使用import 模块时,__all__不起作用.请看下面的例子。用import test1导入test1的所有成员后,即使在__all__变量中注释了test1的height成员,test2模块仍然可以正常使用。

Python中怎么控制from  xxx  import  *导入的成员

绝对导入

在大型项目中,我们经常会遇到很多模块文件。为了方便管理,我们通常根据功能设置多个文件夹,不同的文件夹中有多个模块,每个模块可以相互引用。今天我们来整理一个绝对导入的方法。

有一个项目,路径是D:\Python自学笔记\模块。这个项目下有几个模块和文件夹,其中aa文件夹下有一个文件夹B,文件夹B中有bb.py模块。

注意红圈的内容。实际上,python解释器在加载。py文件。sys.path[0]是当前模块的完整路径,sys.path[1]是当前模块的项目路径。

现在bb模块需要通过来自aa.c.cc import *的方法调用cc模块的成员num2,其中B模块知道项目路径是“D:\Python自学笔记\模块”,然后添加aa文件夹名称,c文件夹名称和。cc模块名称绝对导入cc.py模块的所有成员。

Python中怎么控制from  xxx  import  *导入的成员

Python中怎么控制from  xxx  import  *导入的成员

在项目路径“D:\Python自学笔记\ module”下有一个test_import.py模块,可以通过绝对导入的方式导入bb模块(另外,bb模块中已经绝对导入了cc模块,相当于同时导入bb和cc),也可以通过导入的方式在同一路径导入test1模块。

Python中怎么控制from  xxx  import  *导入的成员

Python中怎么控制from  xxx  import  *导入的成员

绝对路径导入法简单易懂,参加大型项目一定要学会这个技巧。深入学习python的朋友最好自己去挖掘代码,多练习,熟练掌握。

这里介绍一下“如何控制Python中从xxx import *导入的成员”的内容。感谢您的阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/116541.html

(0)

相关推荐