Pythonic方法初始化布尔值

时间:2015-05-11 06:44:51

标签: python initialization boolean

我想知道你初始化布尔值的首选方法。我找不到任何一个解决方案的原因。

初始化后,我在循环中使用isLastInMonth,不想随时调用monthrange!

示例1:

if monthrange(2015, 5)[1] == today.day:
    isLastInMonth = True
else:
    isLastInMonth = False

示例2:

isLastInMonth = False
if monthrange(2015, 5)[1] == today.day:
    isLastInMonth = True

修改

好像你更喜欢第三个:

示例3:

isLastInMonth = monthrange(2015, 5)[1] == today.day

一些答案​​引用了我的旧例子:

示例1:

if fooA == True:
    fooB = True
else:
    fooB = False

示例2:

fooB = False
if fooA == True:
    fooB = True

3 个答案:

答案 0 :(得分:3)

给定条件(fooA),初始化fooB:

>>> fooB = fooA

补充:

>>> fooB = not fooA

所以,举个例子:

>>> from datetime import date
>>> from calendar import monthrange
>>>
>>>
>>> isLastInMonth = monthrange(2015,5)[1] == date.today()

我不会硬编码2015或5,但我想这只是一个例子。

答案 1 :(得分:2)

您的示例相当于:

fooB = fooA

答案 2 :(得分:2)

我喜欢fooB = fooA

In [16]: fooA = True

In [17]: fooB = fooA

In [18]: fooB
Out[18]: True

In [19]: fooA = False

In [20]: fooB
Out[20]: True

匹配编辑:

isLastInMonth = monthrange(2015, 5)[1] == today.day