【发布时间】:2014-12-02 23:38:40
【问题描述】:
我正在研究计算机代数并尝试为字段创建接口。 尽量不让你厌烦所有的细节,这就是我试图开始工作的原因:
class PrimeField():
prime = 2
def __init__(self,p):
self.prime = p
class element():
def __init__(self,n):
self.descriptor = n
def someFunctionOfNandP(self):
return 2*self.n % self.parrent.p
field = PrimeField(7)
el = field.element(5)
print(el.someFunctionOfNandP())
我试图实现的是 PrimeField 创建一个生成器,你可以创建一个生成器,它使元素(对象)的功能依赖于来自的字段。 尽管我可以想到使用不同结构的解决方法(例如,制作一个通用元素类,该类采用两个元素和一个在初始化这些元素的字段中的函数),但由于与基础数学相似,上面显示的行中的某些内容会优先考虑该程序是为其他数学家编写的。
这可以做到吗?如果可以,怎么做?
谢谢
【问题讨论】:
-
element与PrimeField有什么关系,需要在PrimeField的代码块中定义它? -
仍在尝试解决这个问题 - 但也许Inner Classes: How can I get the outer-class object at construction time? 的答案之一会有所帮助。哦,也许是
__metaclass__。 -
nested classes python搜索有很多有趣的想法/答案——除了“不要这样做”。 stackoverflow.com/a/1765716/2823755 -
你的意思是
def someFunctionOfNandP(self): return 2*self.descriptor % self.parrent.prime? -
elementfield是否需要访问PrimeField类属性或绑定实例属性?