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)

相关推荐

  • 太极拳入门基本功,初学太极拳最好的方法有哪几种

    技术太极拳入门基本功,初学太极拳最好的方法有哪几种初学太极拳最好的方法有哪几种太极拳入门基本功?(原创)这个问题我来回答题主。我从五十岁开始学太极拳,到现在己经有二十三年了。根据我学习太极拳的经历来回答这个问题。初学大极

    生活 2021年10月22日
  • SQL-Hive中Select From怎么用

    技术SQL-Hive中Select From怎么用这篇文章主要介绍了SQL-Hive中Select From怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解

    攻略 2021年12月10日
  • Reflect反射

    技术Reflect反射 Reflect反射es6提供了一个全新的api----Reflect,其将object对象一些内部的方法,放到Reflect对象上,将来可能彻底取代Object对象内部的这些方法

    礼包 2021年12月21日
  • htmlspecialchars、htmlentities和strip_targs的示例分析

    技术htmlspecialchars、htmlentities和strip_targs的示例分析这篇文章将为大家详细讲解有关htmlspecialchars、htmlentities和strip_targs的示例分析,文

    攻略 2021年12月9日
  • fabric开发流程(fabric网络架构设置)

    技术Fabric网络环境启动过程的示例分析小编给大家分享一下Fabric网络环境启动过程的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!fabric网络环境启动过程详解之前我们讲到 fabric

    攻略 2021年12月25日
  • eclipse swing的使用教程详细(swingwork的工作模式)

    技术怎么分析SwingWorker与Swing程序这篇文章给大家介绍怎么分析SwingWorker与Swing程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。某些人一拍脑袋的事,让我有机会跟Swi

    攻略 2021年12月24日