如何使用 __str__ 方法将键值打印为字符串 - 字典
How to print key-value as string using __str__ method - dictionary
我坚持使用 str 方法打印出我想要的内容。
我想打印出这样的格式: { 'key': value, 'key': value, 'key': value, 'key': value, 'key': value } 通过使用 str 方法。
class DataM(object):
def __init__(self):
self.a = {}
def insert(self, key, val):
if not key in self.a.keys():
self.a[key] = val
else:
print("The key is already exist")
def delete(self, key):
try:
del self.a[key]
except:
raise ValueError("Cannot remove the key ")
def get(self, key):
try:
return self.a[key]
except:
return None
def contain(self, key):
return key in self.a
def __str__(self):
result = ''
for key, value in self.a.items():
result = result+str(key) + " :" + str(value) + ','
return "{"+ result[:-1]+ "}"
dataM = DataM()
dataM.insert("a", 200)
dataM.insert("c", 400)
dataM.insert("e", 1)
dataM.insert("g", 23)
dataM.insert("h", 74)
print(dataM)
例如,如果我打印(dataM):结果应该是这样的:{'a':20,'c':400,'e':1,'g':23,'h' : 74} 通过使用 __str__method.
如果大家能给点建议或者想法,将不胜感激。
听起来你想要的是 self.a
字典的字符串表示,所以直接 return 而不是尝试自己重新实现 dict.__str__
:
def __str__(self):
return str(self.a)
这同样适用于您的其他一些方法,例如:
def get(self, key):
return self.a.get(key)
我假设您是出于某些特定的教育目的而将字典包装起来,但在“现实生活”中,您很可能希望跳过所有这些而只使用普通字典。
我坚持使用 str 方法打印出我想要的内容。 我想打印出这样的格式: { 'key': value, 'key': value, 'key': value, 'key': value, 'key': value } 通过使用 str 方法。
class DataM(object):
def __init__(self):
self.a = {}
def insert(self, key, val):
if not key in self.a.keys():
self.a[key] = val
else:
print("The key is already exist")
def delete(self, key):
try:
del self.a[key]
except:
raise ValueError("Cannot remove the key ")
def get(self, key):
try:
return self.a[key]
except:
return None
def contain(self, key):
return key in self.a
def __str__(self):
result = ''
for key, value in self.a.items():
result = result+str(key) + " :" + str(value) + ','
return "{"+ result[:-1]+ "}"
dataM = DataM()
dataM.insert("a", 200)
dataM.insert("c", 400)
dataM.insert("e", 1)
dataM.insert("g", 23)
dataM.insert("h", 74)
print(dataM)
例如,如果我打印(dataM):结果应该是这样的:{'a':20,'c':400,'e':1,'g':23,'h' : 74} 通过使用 __str__method.
如果大家能给点建议或者想法,将不胜感激。
听起来你想要的是 self.a
字典的字符串表示,所以直接 return 而不是尝试自己重新实现 dict.__str__
:
def __str__(self):
return str(self.a)
这同样适用于您的其他一些方法,例如:
def get(self, key):
return self.a.get(key)
我假设您是出于某些特定的教育目的而将字典包装起来,但在“现实生活”中,您很可能希望跳过所有这些而只使用普通字典。