注册 登录
编程论坛 Python论坛

一段程序中的小问题,求解答~~~~~~~~~

绵延的风 发布于 2011-11-13 14:52, 885 次点击
def _days_before_month(month, year):           # number of days in year before month
    return _DAYS_BEFORE_MONTH[month-1] + (month > 2 and _is_leap(year))

注:_is_leap(year)是前面定义的一个判定闰年的函数,
    _DAYS_BEFORE_MONTH[month-1]取出的是一个数,
    我不明白,难道后面的条件用括号括起来就成了数字?而且应该是1.。。。。求解释
3 回复
#2
hziee2011-11-16 15:43
括号中为一判断条件,可简单理解为bool类型,返回0/1数据(或True/False)
#3
mobibi2011-11-28 18:00
month > 2 and _is_leap(year)
month > 2 为假返回False
month 〉2 为真 返回_is_leap(year)的返回值 相当于直接调用了_is_leap(year)
#4
为Jay沉沦2012-04-11 10:03
_DAYS_BEFORE_MONTH[month-1]取出的是一个数
(month > 2 and _is_leap(year)返回的是布尔值,即True(1)/False(0)
python中一个数和布尔值相加,布尔值会转换为数字0或者1,所以结果就返回了数字
1