作者KSJ (阿真)
看板Python
标题Re: [问题] 如何找到class的instance??
时间Fri Nov 27 02:38:14 2009
※ 引述《sbrhsieh (偶尔想摆烂一下)》之铭言:
: ※ 引述《KSJ (阿真)》之铭言:
: : 假设
: : class a():
: : pass
: : 建立好了class
: : 然後instance
: : b=a()
: : b.x=6
: : c=a()
: : c.x=666
: : 这样很明白的有 b 跟 c 二个instance
: : 可以找出各自的"值"
: : b.x #6
: : c.x #666
: : 可是... 如果不知道instance存起来叫b (or c)
: : 该如何找到 "a class 下曾 instance过的 instance 的"值" 呢"
: : 我觉得找到instance(也就是b c) 找"值"就简单了 (就b.x之类的)
: : 可是不知道怎麽找instance 想请大家帮个忙 感恩
: 我认为在讨论这个主题之前有必要先厘清一点:
: 何谓 "a class 曾 instance 过的 instance"?
: 举例来说,假设你有一个可以 return 上述的集合的 function: get_a_instances,
: 那麽下面的码中集合 all_a 应该包含几个物件?
: a()
: a()
: all_a = get_a_instances()
以我的观点来说
应该是0个
因为没有存起来
也就是 如果是下面的话
b=a()
c=a()
all_a 会是二个
all_a[0] 是b这个instance
all_a[1] 是c这个instance
好让我能找到 b底下的一些参数
其实我也不懂为什麽globals() 里面会有同名的module跟instance
我在python shell 下中
import sys
我看globals()下 有sys module
sys=a()
我看globals()下 有sys 是a的instance
再import sys
又是变回 sys module
试不出怎麽会有同名的东西 感觉很奇怪 目前还在思索中
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.63.180