以下这段代码的default怎么理解,是有个参数为default吗?那么这个default有什么用途呢?我是从c#转来学python的,看到这个函数觉得很奇怪,觉得default是多余的。(代码是从开源程序中copy来的)
def pretty_date(dt, default=None): """ Returns string representing "time since" e.g. 3 days ago, 5 hours ago etc. """ if default is None: default = 'just now' now = datetime.utcnow() diff = now - dt periods = ( (diff.days / 365, 'year', 'years'), (diff.days / 30, 'month', 'months'), (diff.days / 7, 'week', 'weeks'), (diff.days, 'day', 'days'), (diff.seconds / 3600, 'hour', 'hours'), (diff.seconds / 60, 'minute', 'minutes'), (diff.seconds, 'second', 'seconds'), ) for period, singular, plural in periods: if not period: continue if period == 1: return u'%d %s ago' % (period, singular) else: return u'%d %s ago' % (period, plural) return default
default是你传递进去的函数参数。是一个带有默认值的参数,也就是在调用这个函数的时候可以不用给它赋值。