用函数中的返回值确认类实例化

2024-05-16 22:57:41 发布

您现在位置:Python中文网/ 问答频道 /正文

对Python还不熟悉,所以请容忍我。。。你知道吗

给定以下函数(并假设此处引用的类已正确创建):

def next_scene(scene_name):
    print scene_name
    scenes = {'Chip_in_the_car': ChipCar(), 'Chip_in_the_studio': ChipInStudio(), 'Chip_mom_house': ChipMomHouse(), 'Chip_at_rehearsal': SickFuckingPuppies(), 'Death': Death()}

    for key, value in scenes.iteritems():
        if scene_name == key:
            print value
            return value

好的,这里返回的value如下:

<__main__.ChipCar object at 0x104503390>

这是否意味着ChipCar类的一个实例已经被实例化,或者它只是返回类作为对象在内存中的位置?如何使用此函数创建ChipCar类的实例?你知道吗

谢谢你的任何见解(当然这是一个无稽之谈)。你知道吗


Tags: the实例key函数nameinvaluedef
1条回答
网友
1楼 · 发布于 2024-05-16 22:57:41

是的,你有一个类的实例。您正在查看实例的默认__repr__返回值,其中包括以十六进制表示的对象的模块名、类名和id()值。你知道吗

你可以给你的类一个定制的__repr__方法来改变文本,它应该返回一个在调试时有用的字符串。例如:

>>> class ChipCar(object):
...     def __repr__(self):
...         return '{}() object, id => 0x{:x}'.format(type(self).__name__, id(self))
... 
>>> ChipCar()
ChipCar() object, id => 0x1046c33d0

相关问题 更多 >