我正在从C#调用一个名为nump的python类。调用该类是可行的,但是我认为我的空格可能有问题。请参见下面的示例:
class nump
def nump():
import numpy as np
incomes = np.random.normal(27000, 15000, 10000)
np.mean(incomes)
return np
我总是收到换行错误。
请提供任何帮助
答案 0 :(得分:1)
对齐return语句,它没有正确缩进。
import numpy as np
class Nump:
def nump(self):
incomes = np.random.normal(27000, 15000, 10000)
return np.mean(incomes)
答案 1 :(得分:0)
有效的编辑代码。
import numpy as np
class Nump:
def meanIncomes(self):
incomes = np.random.normal(27000, 15000, 10000)
return np.mean(incomes)
num = Nump()
print(num.meanIncomes())
在类的所有函数中都需要一个self
自变量。
np.mean(incomes)
不会将np
转化为平均收入,因此您需要return mp.mean(incomes)
答案 2 :(得分:0)
首先将import语句放在顶部,然后您应该创建一个这样的类
好的做法是从object
类继承。对于python 2 3兼容性或您所做的事情也很好
然后请根据PEP 8 -- Style Guide for Python Code保留类名
如果函数不带参数,则应将self
作为第一个参数传递,以使其起作用。 self
引用了该对象。
您不应返回np
,而应返回结果np.mean(incomes)
import numpy as np
class Nump(object):
def nump(self):
incomes = np.random.normal(27000, 15000, 10000)
return np.mean(incomes)
在C#端
using IronPython.Hosting;
var engine = Python.CreateEngine();
dynamic py = engine.ExecuteFile( @"filepath"); #python file path here
dynamic nump_obj = py.Nump();