找到关于 Python 的10786 篇文章

如何在 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__ ==

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

如何在不导入的情况下检查 Python 模块是否存在?

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

869 次浏览

要检查您是否可以在 Python 2 中导入某些内容,您可以使用带有 try...except 的 imp 模块。例如,import imp try:     imp.find_module('eggs')     found = True except ImportError:     found = False print found这将为您提供输出:False您还可以使用 pkgutil 模块中的 iter_modules 来迭代所有模块以查找是否存在指定的模块。例如,from pkgutil import iter_modules def module_exists(module_name):     return module_name in (name for loader, name, ispkg in iter_modules()) print module_exists('scrapy')这将给出输出:True这是因为此模块已安装在我的电脑上。或者,如果您… 阅读更多

标准库中最有用的 Python 模块有哪些?

Sarika Singh
更新于 2022年11月14日 07:30:09

7K+ 次浏览

Python 标准库是一个脚本模块的集合,Python 程序可以使用这些模块,从而无需重写常用的命令,简化了开发过程。通过在脚本开头“调用/导入”它们,就可以使用这些模块。模块是一个包含 Python 代码的文件;一个名为 ‘coding.py’ 的文件就是一个名为 ‘coding’ 的模块。我们利用模块将复杂的程序分解成更小、更易于管理的部分。模块也允许代码重用。在下面的例子中,一个名为 ‘coding’ 的模块包含一个我们开发的名为 add() 的函数。…… 阅读更多

广告