In [1]: a=5
In [2]: print(["is odd", "is even"][a % 2 == 0])
is odd
In [3]: [a%2 == 0]
Out[3]: [False]
Что я понял - a % 2 == 0
- True
или False
.Bool as int? Как оценивает python
Так что если это правда, то это эквивалентно 1, и с использованием индексов списка он будет печатать 'is even'
.
Я читал this и узнал, что bool
является примером int
.
Таким образом, при использовании в качестве индекса bool
оценивает его эквивалентное число i.e 0
или 1
.
Мой вопрос
на основе интуиции, мы можем знать, является ли это собирается быть int
или bool
Но как знать Python? Имеются ли у него какие-либо критерии, когда следует использовать как bool
и когда использовать как int
? Все, что из документации Python3 было бы оценено.
Вы не вычисляя Int здесь, но условное выражение, таким образом, вы, конечно, получающего BOOL – Paranaix
Идите вперед и запустить '' False.real' и True.real' и посмотреть, что происходит – IanAuld
@IanAuld False.real = 0, True.real = 1 – Ajay