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)

相关推荐

  • Java多线程概念知识点有哪些

    技术Java多线程概念知识点有哪些这篇文章主要介绍“Java多线程概念知识点有哪些”,在日常操作中,相信很多人在Java多线程概念知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年11月24日
  • php获取文件mime类型的几种常用方法

    技术php获取文件mime类型的几种常用方法 php获取文件mime类型的几种常用方法说明
    这些是在文件上传必备的一些验证函数,文件上传这一块要是不做好安全防护,肯定被人登录后台拿你源码的
    MIME类型

    礼包 2021年12月14日
  • 本周最新文献速递20211114

    技术本周最新文献速递20211114 本周最新文献速递20211114本周最新文献速递20211114一、精细解读文献 一
    文献题目: Mapping the proteo-genomic conver

    礼包 2021年11月15日
  • CVE20178464 link代码执行漏洞是如何被攻击的?

    技术CVE–2017–8464 LNK 代码执行漏洞是怎么攻击的CVE–2017–8464 LNK 代码执行漏洞是怎么攻击的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可

    攻略 2021年12月20日
  • SparkSQL是什么意思

    技术SparkSQL是什么意思这篇文章主要介绍了SparkSQL是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Spark是时下很火的计算框架,由

    攻略 2021年12月10日
  • mysql数据库数据表的基本操作(mysql数据库中怎么创建数据表)

    技术MySQL如何创建数据库和创建数据表本篇内容介绍了“MySQL如何创建数据库和创建数据表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年12月23日