打印我的代表将对字符串返回'(单引号)。返回不能有这个,它必须完全匹配。
我尝试在线搜索结果并找到了几个答案,但是当我尝试应用.split .replace等时,我无法成功使其工作。
class staff:
def __init__(self,a,s=False,e=False):
self.name = a
def __repr__(self):
return """{"New Employee": { "Name": %a } }""" % (self.name)
Name = '''"Bob"'''
print (repr(staff(Name)))
当前输出:{"New Employee": { "Name": '"Bob"' } }
预期输出:{"New Employee": { "Name": "Bob" } }
编辑:
名称=“鲍勃” 名称=“鲍勃”
两个都给出表示“鲍勃”的结果,我想要“鲍勃”的结果
答案 0 :(得分:0)
您为员工实例指定名称'''"Bob"'''
-包括"
的前面和后面-它们是给定名称的部分。
您实质上是要返回字典的代表...将代码更改为:
def __repr__(self):
return repr( {"New Employee": { "Name": self.name } } )
获取字典的 exact 表示形式。
如果要删除"
前后的"Bob"
,请不要将它们放在首位,也不要删除它们:
def __repr__(self):
return repr( {"New Employee": { "Name": self.name.strip('"') } } )