找到 34423 篇文章,关于编程

如何导入 Python 命名空间包的所有子模块?

Rajendra Dharmkar
更新于 2019年10月1日 11:25:13

627 次浏览

“`from module import *`”语句用于从 Python 包/模块导入所有子模块。例如,如果您想从您的模块(例如 myModule)导入所有模块,并且不想在调用它们时添加前缀“myModule.”,您可以这样做:>>> from myModule import * 请注意,对于任何规模较大的代码集,如果您导入 *,您可能会将其固定到模块中,无法移除。这是因为很难确定代码中使用的哪些项来自“module”,很容易达到... 阅读更多

如何在 Python 3 中创建 Python 命名空间包?

Pranathi M
更新于 2022年9月16日 07:20:38

2K+ 次浏览

使用命名空间包,您可以将一个包的子包和模块分散到许多独立的分布包中(在本文件中称为“分布”,以避免歧义)。在 Python 中,命名空间包允许您将 Python 代码分散到多个项目中。当您想将相关的库作为单独的下载发布时,这很有用。创建命名空间包 目前,有三种方法可以开发命名空间包。这些方法如下所述。使用包作为本地命名空间。此类命名空间包的 PEP 420 规范指出,Python 3.3 及更高版本支持它。如果包在... 阅读更多

如何使唯一对象在 Python 的其他模块中可访问?

Rajendra Dharmkar
更新于 2019年10月1日 11:28:14

254 次浏览

这基本上是单例对象的思想。因此,如果您已经实例化了一个对象并希望跨不同的模块访问它,您可以使用两种方法,第一种是将该变量分配给您在变量名下导入的模块。例如,您有一个实例化的对象 myobj 并希望将其与模块 B 一起使用,那么您可以执行以下操作:>>> import B >>> B.myobj = myobj 并在模块 B 内部,像使用任何其他全局属性一样使用它。另一种方法是在需要的地方将此对象作为参数接受。例如,如果您有... 阅读更多

Python 中的递归函数每次函数调用自身时都会创建一个新的命名空间吗?

Rajendra Dharmkar
更新于 2019年7月30日 22:30:20

132 次浏览

是的,函数调用(任何函数调用,不仅仅是递归函数)都会创建一个新的命名空间。但是,当作为参数给出时,对象是通过引用传递的。因此,新的命名空间获得了对该引用的自己的副本,但它仍然引用与调用函数中相同的对象,如果您更改该对象的内容,您会在调用函数中注意到更改。更具体地说,每当解释器遇到对函数的调用时,它都会创建一个帧对象,该对象被推入帧堆栈。每次创建帧时,该帧都会... 阅读更多

Python 命名空间到底是什么?

Rajendra Dharmkar
更新于 2019年7月30日 22:30:20

162 次浏览

命名空间是一种实现作用域的方式。在 Python 中,每个包、模块、类、函数和方法函数都拥有一个“命名空间”,其中解析变量名。当评估函数、模块或包时(即,开始执行),就会创建一个命名空间。将其视为“评估上下文”。当函数等完成执行时,命名空间就会被删除。变量也被删除。此外,还有一个全局命名空间,如果名称不在本地命名空间中,则使用它。每个变量名都在本地命名空间(函数体、模块等)中检查,然后在全局... 阅读更多

if __name__ == "__main__" 是什么意思?

Sarika Singh
更新于 2023年8月23日 12:53:52

82K+ 次浏览

本文解释了 Python 代码表达式 if __name__ == '__main__' 的含义。Python 程序使用条件 if __name__ == '__main__' 来仅在 Python 解释器直接运行程序时运行 if 语句内的代码。当文件的代码作为模块导入时,if 语句内的代码不会执行。什么是 __main__?单词 "__name__" 表示 Python 中的唯一变量。Python 有大量以双下划线开头和结尾的特殊变量。为了简短起见,它们被称为 dunder(来自 Double Underscores)。... 阅读更多

如何使用 Python 命名空间包开发程序?

Rajendra Dharmkar
更新于 2019年10月1日 11:17:05

178 次浏览

在 Python 中,命名空间包允许您将 Python 代码分散到多个项目中。当您想将相关的库作为单独的下载发布时,这很有用。例如,如果 PYTHONPATH 中包含目录 Package-1 和 Package-2,则 Package-1/namespace/__init__.py Package-1/namespace/module1/__init__.py Package-2/namespace/__init__.py Package-2/namespace/module2/__init__.py 最终用户可以导入 namespace.module1 和导入 namespace.module2。在 Python 3.3 上,您无需执行任何操作,只需不要在命名空间包目录中放置任何 __init__.py 文件即可正常工作。这是因为 Python 3.3 引入了隐式命名空间包。在旧版本中,有一个标准模块,称为 pkgutil,您可以使用它将模块“附加”到给定的命名空间。您... 阅读更多

如何在运行时安装和导入 Python 模块?

Rajendra Dharmkar
更新于 2019年10月1日 11:18:18

1K+ 次浏览

您可以使用 pip 在运行时安装包,并使用 importlib.import_module(moduleName) 通过使用其名称作为字符串来导入模块。例如,import pip import importlib def import_with_auto_install(package):     try:         return importlib.import_module(package)     except ImportError:         pip.main(['install', package])     return importlib.import_module(package) # 示例 if __name__ == '__main__':     scrapy = import_with_auto_install('scrapy')     print(scrapy) 以上脚本安装 scrapy 模块并在模块安装完成后导入它。

如何使用 easy_install 安装 Python 模块?

Pranathi M
更新于 2022年9月16日 08:15:57

6K+ 次浏览

Easy Install 是一个与 setuptools(easy_install)捆绑在一起的 Python 模块,允许您自动下载、编译、安装和管理 Python 包。它于 2004 年包含在 setuptools 中,现在已弃用。它当时之所以引人注目,是因为它可以自动安装依赖项并使用需求说明符从 PyPI 安装包。Pip 于 2008 年晚些时候发布,作为 easy install 的替代品,尽管它仍然主要基于 setuptools 组件。应该使用 pip 而不是 easy install 来安装 Python 模块。如果您有 easy_install,则可以使用它来安装 pip。以下行... 阅读更多

如何为 Python Azure 函数导入模块?

Rajendra Dharmkar
更新于 2020年2月17日 07:41:36

1K+ 次浏览

在撰写本文时,Azure Functions 的 Python 支持处于实验阶段。因此,目前无法直接从包管理器获取要安装在实例上的模块。您需要使用代码自带模块。Azure Functions 默认情况下不提供任何模块。您可以通过上传门户 UX 或 kudu 来添加它们(这对于大量文件非常方便)。如果您不介意使用 virtualenv,则还有一个替代方法。在 Azure Functions 上创建您的 Python 脚本。打开 Kudu 控制台并 cd 到您的脚本位置。在此文件夹中创建一个 virtualenv... 阅读更多

广告