2014-01-19 2 views
0

Рассмотрим простой, если/иначе блок в Python, как показано ниже:Вывести результат вычисления выражения в Python

if x: 
    print 'True' 
else: 
    print 'False' 

где х может быть сравнение, состояние или просто строка/список/объект. Как я могу открыть оболочку python и узнать, что будет оценивать if x без написания цикла? то есть xTrue или False для определенного значения угла поворота.

Например, если x - пустой список. Могу ли я открыть оболочку python, назначьте x = [], а затем напишите print <function of x>, который выведет True или False при исполнении. Что это такое <function of x>?

Я чувствую, что задаю довольно глупый вопрос и не могу сейчас думать прямо, но я часто обнаруживаю, что открываю оболочку, присваиваю значение аргумента в углу переменной и записываю if/else, чтобы узнать, какие значения угла будет оцениваться до True/False. Я просто ищу более короткий способ узнать на оболочке, не записывая четырехстрочный цикл.

ответ

3

Вы ищете функцию bool.

>>> bool([]) 
False 
>>> bool(['monty']) 
True 

Что говорят Python Docs.

Преобразование значения в булевое, с использованием стандартного тестирования истины процедура. Если x является ложным или опускается, это возвращает False; в противном случае возвращает True. bool также является классом, который является подклассом int. Класс bool нельзя подклассифицировать далее. Его единственными экземплярами являются False и True.

+0

Да, именно то, что я искал. Большое спасибо. – Medorator

1

Ваши четыре линии должны быть такими же, как

print(bool(x))

+0

Именно это я и искал. – Medorator

Смежные вопросы