python - 将数组的 numpy 数组作为星号传递给函数会更改数组中第一项的值
问题描述
我有一个返回 numpy ndarray 的函数,它返回的值看起来正确:
具有值的两个数组,2.5
和2.
。我需要将此变量传递给一个函数,但如果我没有星号,它会给我这个错误:
函数接受 1 个位置参数,但给出了 2 个
所以我假设它正在解析值并假设两个数组应该是两个参数,即使函数接受一个参数。
接受数组数组的函数如下所示:
def validate_arrays(*arrays):
这是数组变量传入函数时的样子:
第一个值更改为类引用或其他内容。我感觉这里不适合使用星号。但这是我在查找这些东西时发现的。而且我对 Python 很陌生,所以我不知道您通常如何处理这种情况。任何帮助将不胜感激。
解决方案
问题是该函数在一个类中,并且该类假定第一个值是self
. 因此将定义更改为:
def validate_arrays(self, arrays):
解决它。
推荐阅读
- c# - 在最后两行中使用未分配的局部变量 fedTax 和 netPay
- javascript - 一种在不知道嵌套 js 对象中的路径的情况下访问属性的方法
- excel - 如何使用 VLOOKUP 返回任何不同的结果?
- spring - 运行 KafkaEmbedded 进行单元测试时出现 java.lang.NoClassDefFoundError
- node.js - 将 Node.js 应用程序上传到 WinSCP 服务器
- sql - 使用 group by 子句从具有最大值的行中获取另一个值
- javascript - firebase node js TypeError:无法读取导出时未定义的属性“toId”
- python - 如何使用pandas groupby对一些行降序和一些行升序排序
- reactjs - 对象作为反应子无效(react-native)
- interrupt - STM32 SPI在使用中断时丢弃数据