你好,能问你一个问题吗,我看你回答过类似的问题,但我还有一点疑问 20
你好,能问你一个问题吗,我看你回答过类似的问题,但我还有一点疑问,python关于str和repr的问题。举例:classTime60(object):def__init...
你好,能问你一个问题吗,我看你回答过类似的问题,但我还有一点疑问,python关于str和repr的问题。
举例:
class Time60(object):
def __init__(self,h,m):
self.hour=h
self.min=m
def __str__(self):
print "%d:%d" %(self.hour,self.min)
__repr__=__str__
>>>mon=Time60(10,30)
>>>print mon
这一句我们可以看成
print str(mon)=print mon.__str__
()=print "10:30" 所以结果就是
>>>10:30
我不明白的是
>>>mon 可以看成
repr(mon)=mon.__repr__()=
>>>"10:30"
按理说输出结果是上面显示的"10:30"可为什么输出结果是没有引号的
>>>10:30 展开
举例:
class Time60(object):
def __init__(self,h,m):
self.hour=h
self.min=m
def __str__(self):
print "%d:%d" %(self.hour,self.min)
__repr__=__str__
>>>mon=Time60(10,30)
>>>print mon
这一句我们可以看成
print str(mon)=print mon.__str__
()=print "10:30" 所以结果就是
>>>10:30
我不明白的是
>>>mon 可以看成
repr(mon)=mon.__repr__()=
>>>"10:30"
按理说输出结果是上面显示的"10:30"可为什么输出结果是没有引号的
>>>10:30 展开
展开全部
抱歉,才看到。本身字符串是没有引号的。如果要输出引号字符,需要加其他引号。比如:
print '"abc"'
print "'abc'"
而之所以,你敲一个'abc',回车后会带引号,是表明这个变量的类型是字符串。仅此而已。
print是打印字符,所以不带引号。
所以你上面的例子。把函数里的print去掉。str(mon),repr(mon)都应该带引号。而加上print的都不会带引号。
class Time60(object):
def __init__(self,h,m):
self.hour=h
self.min=m
def __str__(self):
return "%d:%d" %(self.hour,self.min)
__repr__=__str__
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询