

- Главная
- Каталог
- Интернет технологии
- Библиотека Python разработчика
Статистика канала
Полная статистикаchevron_rightEllipsis
, которую также можно записать как ...
. Эта константа не имеет особого значения для интерпретатора, но используется в тех местах, где подобный синтаксис уместен.
numpy
поддерживает Ellipsis
как аргумент для __getitem__
. Например, x[...]
возвращает все элементы массива x
.
PEP 484 задаёт дополнительный смысл: Callable[..., type]
— способ определить тип вызываемых объектов без указания типов аргументов.
Наконец, ...
можно использовать, чтобы показать, что функция ещё не реализована. Это полностью корректный Python-код:
def x():
...
{}
👉@BookPython+
:
>>> [1, 2] + [2, 3]
[1, 2, 2, 3]
{}
Кортежи и строки также используют +
:
>>> (1, 2) + (2, 3)
(1, 2, 2, 3)
>>> "12" + "23"
'1223'
{}
Deque (двусторонняя очередь) тоже поддерживает +
:
>>> deque([1, 2]) + deque([2, 3])
deque([1, 2, 2, 3])
{}
Множества объединяются с помощью оператора |
:
>>> {1, 2} | {2, 3}
{1, 2, 3}
{}
Словари объединяются по-другому, и порядок важен, если ключи пересекаются:
>>> {**dict(a=1, b=2), **dict(b=3, c=4)}
{'a': 1, 'b': 3, 'c': 4}
>>> {**dict(b=3, c=4), **dict(a=1, b=2)}
{'b': 2, 'c': 4, 'a': 1}
{}
Counter (счётчик) можно сложить с помощью +
, при этом значения суммируются:
>>> Counter(dict(a=1, b=2)) + Counter(dict(b=3, c=4))
Counter({'b': 5, 'c': 4, 'a': 1})
{}
👉@BookPythonNone
равен None
, поэтому может показаться, что проверку на None
можно делать через ==
:
ES_TAILS = ('s', 'x', 'z', 'ch', 'sh')
def make_plural(word, exceptions=None):
if exceptions == None: # ← ← ←
exceptions = {}
if word in exceptions:
return exceptions[word]
elif any(word.endswith(t) for t in ES_TAILS):
return word + 'es'
elif word.endswith('y'):
return word[0:-1] + 'ies'
else:
return word + 's'
exceptions = dict(
mouse='mice',
)
print(make_plural('python'))
print(make_plural('bash'))
print(make_plural('ruby'))
print(make_plural('mouse', exceptions=exceptions))
{}
Однако так делать неправильно. Действительно, None
равен None
, но не только он может быть равен None
. Пользовательские объекты тоже могут вернуть True
при сравнении с None
через ==
:
class A:
def __eq__(self, other):
return True
print(A() == None) # True
print(A() is None) # False
{}
Правильный способ проверки на None
— использовать is None
.
👉@BookPythonmath.nan
.
NaN не равен ничему, включая самого себя:
>>> math.nan == math.nan
False
{}
Кроме того, объект NaN не является уникальным — можно получить несколько разных объектов NaN из разных источников:
>>> float('nan')
nan
>>> float('nan') is float('nan')
False
{}
Это означает, что обычно нельзя использовать NaN в качестве ключа словаря:
>>> d = {}
>>> d[float('nan')] = 1
>>> d[float('nan')] = 2
>>> d
{nan: 1, nan: 2}
{}
👉@BookPython
try:
cache
except NameError:
cache = {}
{}
На первый взгляд, нет смысла писать что-то подобное. Переменная cache
однозначно вызовет NameError
в начале выполнения модуля, так как она ещё не была определена.
Однако ситуация меняется, если модуль перезагружается. В этом случае словарь, содержащий все атрибуты модуля, переиспользуется, что даёт возможность модулю сохранить значения из предыдущей версии.
Если модуль изначально спроектирован с учётом перезагрузки, он может использовать эту особенность. Например, приведённый выше код позволяет сохранить кэш между перезагрузками модуля.
👉@BookPythonСтатистика
Отзывы канала
всего 6 отзывов
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
Библиотека Python разработчика — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 19.3K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 7.9, количество отзывов – 6, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 8181.81 ₽, а за 30 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий