Python 类成员相互引用一问

2015-03-06 21:53:54 +08:00
 invite

定义一个类:

class demo:
name = 'baidu'
info = { 'engine': demo.name }

但是这样会报错,那应该怎么样才能相互引用呢?

2487 次点击
所在节点    Python
9 条回复
way2exluren
2015-03-06 21:59:23 +08:00
…………
class demo( ):
name = 'baidu'

a = demo()

info = {'engine':a.name}
way2exluren
2015-03-06 22:03:10 +08:00
定义了demo只是定义了一种类型。而字典是要求键值是实例。
PS:好好看书……在网上问来的都是零散的知识,这样学不大好。
系统的好好看完一本书……
SevenJ
2015-03-06 22:03:20 +08:00
class demo:
name = 'baidu'
info = { 'engine': name}
sumhat
2015-03-06 22:03:41 +08:00
info = { 'engine': name }
invite
2015-03-06 22:15:58 +08:00
@way2exluren 谢谢,你的解决方案不符合我的需求。 @SevenJ 的解决方案是王道。
invite
2015-03-06 22:16:14 +08:00
@sumhat 谢谢。
lincanbin
2015-03-06 22:29:03 +08:00
没缩进有些不太了解你的意图。
info是在类的说明里面吗?

是类内部使用公共变量?还是类外部创建一个对象然后引用变量?
如果是前者你直接使用即可;
如果是后者,你没有创建对象。
invite
2015-03-07 11:00:39 +08:00
@lincanbin 谢谢。

两个都是类成员,如果只是上面一个类成员,访问没有问题的。

前面的几位已有解决方案。
luw2007
2015-03-07 21:11:21 +08:00
使用新式类写在__init__里比较容易理解。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/175030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX