无法在C#中导入python类

时间:2019-02-27 09:06:18

标签: python

我正在从C#调用一个名为nump的python类。调用该类是可行的,但是我认为我的空格可能有问题。请参见下面的示例:

class nump
   def nump():
      import numpy as np
      incomes = np.random.normal(27000, 15000, 10000)
      np.mean(incomes)
         return np

我总是收到换行错误。

请提供任何帮助

3 个答案:

答案 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();