2024-09-24 22:32:17 发布
网友
有没有可能获取一个对象的名称并在创建时将其存储为一个对象?i、 如果我要创建一个新类。。你知道吗
Class foobar(): pass
然后说。。。你知道吗
fooinstance = foobar()
有没有办法将名称“fooinstance”存储在foobar类型的已创建对象中?是否可以使用名称来实现此行为?你知道吗
我问的原因是,创建的对象将创建其他对象,这些对象需要知道它们是由谁创建的。你知道吗
你想做这样的事?你知道吗
class Player(object): # ... snip ... def fire(self): bullet = Bullet() bullet.owner = self bullet_list.append(bullet)
我也用过类似的方法,当你需要了解父母或主人的时候。如果所有者可能不存在,您可以使用weakref。你知道吗
不,不管怎样都没有意义。你知道吗
fooinstance = foobar() bar = fooinstance print bar.__name__
找到另一种方法来标识对象,也许可以在初始值设定项中设置一个键。你知道吗
如果您需要知道“谁”创建了一个对象,那么只需在创建时传入该“谁”:
class Foo(): def __init__(self,whichbar): do something with whichbar class Bar(): def something(self): myfoo = Foo(self)
请注意,对象分配给的变量的名称无关紧要,因为对象在例程之间传递时名称会发生变化。这是你关心的实际情况。你知道吗
你想做这样的事?你知道吗
我也用过类似的方法,当你需要了解父母或主人的时候。如果所有者可能不存在,您可以使用weakref。你知道吗
不,不管怎样都没有意义。你知道吗
找到另一种方法来标识对象,也许可以在初始值设定项中设置一个键。你知道吗
如果您需要知道“谁”创建了一个对象,那么只需在创建时传入该“谁”:
请注意,对象分配给的变量的名称无关紧要,因为对象在例程之间传递时名称会发生变化。这是你关心的实际情况。你知道吗
相关问题 更多 >
编程相关推荐