Рубрики
Без рубрики

Советы по сравнению с питоном

1. Не сравнивайте логические значения с истинными или ложными, используя ==. Да: Приветствие: нет: если … с меткой питона, советы, учиться.

1. Не сравнивайте логические значения с истинными или ложными, используя ==.

Yes:   if greeting:
No:    if greeting == True:

Хуже всего: если приветствие правда:

2. Для последовательностей, (строки, списков, кортежей) используйте тот факт, что пустые последовательности являются ложными.

Yes: if not seq:
     if seq:
No:  if len(seq):
     if not len(seq):

3. Сравнения типа объекта всегда должны использовать IsInstance () вместо непосредственного сравнения типов.

Yes: if isinstance(obj, int):

No:  if type(obj) is type(1):

При проверке, если объект является строкой, имейте в виду, что это тоже может быть строка Unicode! В Python 2 Str и Unicode имеют общий базовый класс, базовый базовый класс, так что вы можете сделать:

if isinstance(obj, basestring):

Обратите внимание, что в Python 3 Unicode и Basestring больше не существуют (есть только STR), а объект Bytes больше не является своего рода строкой (вместо этого это последовательность целых чисел).

Строковые методы всегда намного быстрее и имеют один и тот же API с строками Unicode. Переопределите это правило, если требуется обратная совместимость с питонами старше 2.0. Используйте ''.начинается с () и '' .endswith () Вместо нарезки строки, чтобы проверить префиксы или суффиксы. startSwith () и endswith () чище и менее подвержены ошибкам:

Yes: if foo.startswith('bar'): No: if foo[:3] == 'bar':
No:  if foo[:3] == 'bar':

Оригинал: “https://dev.to/taleb/python-comparison-tips-g6d”