您好,匿名用户
随意问技术百科期待您的加入

python函数中的default怎么理解

+1 投票

以下这段代码的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
用户头像 提问 2012年 12月1日 @ Sivir 上等兵 (275 威望)
分享到:

1个回答

0 投票

default是你传递进去的函数参数。是一个带有默认值的参数,也就是在调用这个函数的时候可以不用给它赋值。

用户头像 回复 2012年 12月1日 @ Shen 上等兵 (318 威望)
提一个问题:

相关问题

0 投票
1 回复 32 阅读
用户头像 提问 2014年 2月3日 @ Malzahar 上等兵 (335 威望)
0 投票
1 回复 38 阅读
用户头像 提问 2013年 9月23日 @ Fizz 上等兵 (325 威望)
0 投票
1 回复 34 阅读
用户头像 提问 2012年 12月1日 @ Vergil 上等兵 (384 威望)
0 投票
1 回复 26 阅读
用户头像 提问 2014年 2月15日 @ Cancer 上等兵 (211 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...