我知道可以用Python这样的语言创建一个自引用列表:
>>> my_list = [1,2]
>>> my_list.append(my_list)
>>> print my_list
[1,2,[...]]
>>> print my_list[0]
1
>>> print my_list[2]
[1,2,[...]]
Run Code Online (Sandbox Code Playgroud)
什么算法从自引用列表中受益?我想不出一个.
谢谢.
我正在尝试使用谷歌appengine.我有这个型号:
def Human(db.Model):
name = db.StringProperty()
friends = db.SelfReferenceProperty()
Run Code Online (Sandbox Code Playgroud)
这个人有不止一个朋友.那么,如何使用google appengine来处理这个问题呢?
我注意到python不会让你在类定义中将类的实例添加到自身作为静态成员.
>>> class Foo:
... A = Foo()
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in Foo
NameError: name 'Foo' is not defined
Run Code Online (Sandbox Code Playgroud)
但是,以下任一工作:
>>> class Foo:
... pass
...
>>> class Foo:
... A = Foo()
...
>>> Foo.A
<__main__.Foo instance at 0x100854440>
Run Code Online (Sandbox Code Playgroud)
要么
>>> class Foo:
... pass
...
>>> Foo.A = Foo()
>>>
>>> Foo.A
<__main__.Foo instance at 0x105843440>
Run Code Online (Sandbox Code Playgroud)
我找不到任何具有启发性的代码示例或解释.为什么python以不同的方式处理第一种情况?在随后的两个案例中,每个案件的A在哪里?