【发布时间】:2021-08-26 03:56:47
【问题描述】:
我写了一个简单的类代码,如下所示。
class Fridge:
def __init__(self):
self.isOpened = False
self.foods = []
def open(self):
self.isOpened = True
def put(self, thing):
if self.isOpened:
self.foods.append(thing)
def close(self):
self.isOpened = False
class Food:
pass
然后导入模块...
import class_practice as fridge
f = fridge.Fridge()
apple = fridge.Food()
elephant = fridge.Food()
f.open()
f.put(apple)
f.put(elephant)
print(f.foods)
打印输出是
[<class_practice.Food object at 0x7fe761fce5f8>, <class_practice.Food object at 0x7fe761fce710>]
在这种情况下,如果我想打印出f.foods作为[apple, elephant]的对象名,
我该怎么办?
##Revised##
我想从中提取数据
[<class_practice.Food object at 0x7fe761fce5f8>, <class_practice.Food object at 0x7fe761fce710>]
如 ['apple', 'elephant'] 的形式。
就像,
a = 'hello'
b = id(a)
print(ctypes.cast(b, ctypes.py_object).value)
然后,结果是'hello'
【问题讨论】:
标签: python class object memory instance