import语句的实质

     import语句的功能并不是如字面上所表示的那样将某个软件包或者一个软件包中的某个类读入内存,而只是提供了一个信息给编译器,指示本程序中用到了系统哪个软件包中的类,或者哪个软件包中的哪个类的方法,从而使编译器在编译过程中到指定软件包中去检索指定的类以及方法。

         用import语句作出如下告示后,就可以在后面的程序段中用简略形式调用这些包中的类和方法。所以,import语句的功能其实只是使程序编写简化而已。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,import语句用于引入其他模块或包中的功能。通过import,我们可以将其他模块中的函数、类和变量等引入到当前的代码中以供使用。 根据引用和引用的信息,当项目结构复杂时,import可能会出现错误。其中最常见的错误是"ImportError: attempted relative import with no known parent package"。这个错误表示在使用相对导入时,没有找到已知的父包。 为了理解问题的本质,我们需要了解import的工作机制。在引用中提供了一个示例项目目录,我们将以此为例来说明。 在示例项目目录中,有一个名为pakg1的包,包中包含有__init__.py文件和module1.py、module2.py两个模块,还有一个名为pakg1_1的子包,子包中也包含有__init__.py文件。另外,还有一个名为pakg2的包,同样包含有__init__.py文件。 首先,我们来讨论绝对导入。绝对导入是指通过完整的包路径来引入其他模块或包中的功能。例如,如果我们想在entrance1.py中引入pakg1包中的module1模块,可以使用以下语句: ```python from pakg1 import module1 ``` 这里的from关键字表示从某个包或模块中引入功能,pakg1表示包的路径,module1表示要引入的模块名。这样,我们就可以在entrance1.py中使用pakg1.module1中的功能了。注意,为了使包被识别为一个包,需要在包目录下添加一个名为__init__.py的空文件。 绝对导入可以确保我们引入的功能来自于我们指定的包或模块,避免了可能的命名冲突。同时,绝对导入也更易于理解和维护。 在这个问题中,并没有具体提到相对导入的情况。但相对导入是指通过"."来引入当前包或模块中的其他功能。例如,如果我们想在pakg1.module1中引入pakg1_1子包中的某个模块,可以使用以下语句: ```python from .pakg1_1 import module3 ``` 这里的"."表示当前包或模块的路径,pakg1_1表示要引入的子包名,module3表示要引入的模块名。相对导入可以简化代码,不需要指定完整的包路径,但需要注意相对导入只能在包内部使用。 综上所述,Python的import语句可以用于引入其他模块或包中的功能。绝对导入通过完整的包路径引入功能,相对导入通过"."来引入当前包或模块中的功能。使用import语句时需要注意包的结构和导入方式,以避免出现报错。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python import详解](https://blog.csdn.net/qq_34062683/article/details/124672435)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值