(Python) OR при сравнении двух функций, которые принимают тот же объект, что и параметр [duplicate]

  mysql -uroot -p -hslavedb.mydomain.com mydb_production -e «выберите * у пользователей»;   

Из распечатки использования:

-e , - execute = name Выполнить команду и бросить курить. (Отключает - force и файл истории)

31
задан Alex.K. 2 December 2014 в 10:41
поделиться

6 ответов

Булевы операторы Python возвращают последнее оцениваемое значение, а не True / False. docs имеют хорошее объяснение этого:

Выражение x and y сначала оценивает x; если x - false, возвращается его значение; в противном случае y оценивается и возвращается полученное значение.

36
ответ дан SuperBiasedMan 16 August 2018 в 03:47
поделиться

В качестве немного примечания: (у меня недостаточно комментариев для комментария) Оператор AND не нужен для печати нескольких переменных. Вы можете просто разделять имена переменных запятыми, например print five, two, а не print five AND two. Вы также можете использовать escapes для добавления переменных в линию печати, например print "the var five is equal to: %s" %five. Подробнее об этом здесь: http://docs.python.org/2/library/re.html#simulating-scanf

Как и другие, сказал, что AND является логическим оператором и используется для объединения нескольких условий, таких как

if (five == 5) AND (two == 2):
    print five, two
4
ответ дан aChipmunk 16 August 2018 в 03:47
поделиться

Этот AND в Python является эквивалентом && в Java, например. Это не означает и на английском языке. AND является логическим оператором. Предположим, что пять тэгов 5 и два тренда 2. Из документации Python: выражение x и y сначала оценивает x; если x ложно, возвращается его значение; в противном случае y вычисляется и возвращается возвращаемое значение. В принципе, он вычисляет последнее целое число в вашем случае, которое истинно.

if (five and two):
...     print "True"
... else:
...     print "False"

И является логическим оператором, чтобы проверить логику для конкретного случая, а не арифметический оператор. Если вы хотите получить результаты, например, 7 для пяти и двух, вы должны использовать «+», что означает добавление двух целых чисел. См. Ниже:

>>> five = 5
>>> two = 2
>>> print five + two
7
1
ответ дан Ali Gajani 16 August 2018 в 03:47
поделиться
  • 1
    Я не уверен, что это отвечает на вопрос OP, но он спрашивает why, что он получает результат, который он есть, почему он возвращает значение последней переменной вместо только истинного / ложного ответа. – Lochemage 12 August 2013 в 20:48
  • 2
    Я только что сказал ответ :) Еще раз проверьте – Ali Gajani 12 August 2013 в 20:49
  • 3
    Он ожидает, что 5 and 2 вернется 7, я не думаю, что он спрашивает, почему он не возвращает конкретно true / false. – kindall 12 August 2013 в 20:52
  • 4
    @kindall: Я только что объяснил, что теперь в редактировании – Ali Gajani 12 August 2013 в 20:54

Boolean И операторы вернут первое значение 5, если выражение оценивается как false, а второе значение 2, если выражение оценивается как true. Поскольку 5 и 2 являются действительными, не-ложными и ненулевыми значениями, выражение оценивается как true.

Если вы хотите напечатать обе переменные, вы можете связать их с строкой и напечатать это.

five = 5
two = 2
print five + " and " + two

Или распечатать свою сумму, которую вы могли бы использовать

print five + two

В этом документе объясняется, как использовать логические логические операторы.

3
ответ дан Evin Ugur 16 August 2018 в 03:47
поделиться

Попробуйте 0 и 9.

Результат 0, потому что значение 0 ложно. Операнд слева от оператора and равен False, поэтому все выражение False и возвращает 0

1
ответ дан SiHa 16 August 2018 в 03:47
поделиться
0
ответ дан Steven William Bausch 16 August 2018 в 03:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: