我刚开始使用Python并遇到了一个我没有解释的问题。希望你能帮忙。
def createGrid(x,y,N):
nDictionary={}
for i in range(N+1):
node=Node(i,x/N*i,y/N*i)
nDictionary[node.nlabel] = node
return nDictionary
class Node(object):
def __init__(self,nlabel,x,y,z):
self.nlabel = nlabel
self.coordinates = x,y,z
现在
nDictionary={}
node=Node(0,0,0,0)
nDictionary[node.nlabel]=node
有效,但调用方法
createGrid(10,10,10)
导致以下错误
TypeError: __init__() takes exactly 5 arguments (4 given)
我真的不知道为什么。
答案 0 :(得分:1)
我想问题出在这一行:
import numpy as np
x = np.array(range(0,500))
b = np.array(([True] * 50 + [False] * 50) * 5)
x[b]
我猜你想在这里有4个参数,而不是3个。
(错误消息略有混淆的原因(说你应该给出5分4)是因为对node=Node(i,x/N*i,y/N*i)
参数的特殊处理 - 请参阅an external explanation)