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)

相关推荐

  • 读书感悟100字左右,三篇小学读书心得不超过100字

    技术读书感悟100字左右,三篇小学读书心得不超过100字1.敏而好学,不耻下问——孔子2.书到用时方恨少,事非经过不知难——陆游3.读书破万卷,下笔如有神——杜甫4.少壮不努力,老大徒伤悲——《汉乐府 长歌行》5.业精于

    生活 2021年10月26日
  • 如何理解Mybatis源码

    技术如何理解Mybatis源码本篇内容介绍了“如何理解Mybatis源码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为

    攻略 2021年10月22日
  • Docker Compose怎么搭建 Redis Cluster集群环境

    技术Docker Compose怎么搭建 Redis Cluster集群环境Docker Compose怎么搭建 Redis Cluster集群环境,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方

    攻略 2021年12月10日
  • Tomcat的Logging内部实现方式是什么

    技术Tomcat的Logging内部实现方式是什么今天就跟大家聊聊有关Tomcat的Logging内部实现方式是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

    攻略 2021年12月9日
  • VB.NET对话框怎么用

    技术VB.NET对话框怎么用这篇文章主要为大家展示了“VB.NET对话框怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET对话框怎么用”这篇文章吧。VB.NET

    攻略 2021年12月2日
  • 如何在scrapy请求异常之后再设置代理IP

    技术如何在scrapy请求异常之后再设置代理IP如何在scrapy请求异常之后再设置代理IP,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。我们都知道 s

    攻略 2021年10月28日