新手对python default不是很理解它有什么用途,pythondefault,以下这段代码的defau


以下这段代码的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是你传递进去的函数参数。是一个带有默认值的参数,也就是在调用这个函数的时候可以不用给它赋值。

不知道提问者有没有Linux命令行经验

date命令,不加参数时,默认使用当前时间。如果有date --date="yesterday"则使用昨天的时间。

或者参考SQL的表结构定义时

CREATE TABLE customer(First_Name char(50),Last_Name char(50),Address char(50) default 'Unknown',City char(50) default 'Mumbai',Country char(25),Birth_Date date)

编橙之家文章,

评论关闭