python向导入的模块添加变量

标签 python variables numpy

我没有看我之前写的内容,所以我不小心在 ipython 中声明了一个变量:

np.zerosn=10

令人惊讶的是,这是允许的。所以我想也许是因为你可以在变量名称中命名使用句点,但事实并非如此。所以我想知道到底发生了什么。这是向 numpy 模块添加新变量吗?

最佳答案

是的。

一般来说,(大多数/许多)Python 对象具有动态属性空间,您可以随时将任何您想要的内容粘贴到它们上。模块只是对象。它们的属性空间本质上与其全局范围相同。

纯 python 函数是另一个(也许令人惊讶的)示例,您可以在其上粘贴任意属性,尽管这些属性与函数的本地作用域无关。

大多数“内置”类型(即在扩展模块中实现的类型,而不是在 __builtins__ 模块中找到的类型)及其实例,没有动态属性空间。带有 __slots__ 的纯 Python 类型也不行。

关于python向导入的模块添加变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26310079/

相关文章:

python - 康威的生命游戏邻居计数

python - 执行速度差异的原因是什么?

c - 如何解析字符长度变量?

python - 在不同条件下选择numpy数组中的数据

python - 高效地将 numpy 数组转换为矩阵

python - 使用 Python3 读取 srt(字幕)文件

python - 使用 Azure Function for python 和 ActiveDirectoryMSI 身份验证在 Azure SQL Server 数据库连接中出错

javascript - 有没有什么方法可以在字符串之间插入链接

java - 关于变量的语言概念

python - 在 python 中,如何让 urllib 将字符串中的多行识别为单独的 URL?