Я обнаружил, что кое-какие вещи мне приходится подсматривать слишком часто. Вот несколько таблиц, которые, надеюсь, окажутся вам полезны.
Таблица Д.1 — ремикс официальной документации о приоритетах для Python 3, операторы с самым высоким приоритетом находятся наверху.
Таблица Д.1. Приоритет операторов
Оператор | Описание и примеры |
[v, …], {v1, …}, {k1:v1, …}, (…) | Создание или включение списка/множества/словаря/генератора, выражение в скобках |
seq[n], seq[n:m], func(args…), obj.attr | Индекс, разбиение, вызов функции, ссылка на атрибут |
** | Экспонента |
+n, –n, ~x | Знаки плюс и минус, битовое НЕ |
*, /, //, % | Умножение, деление с плавающей точкой, целочисленное деление, напоминание |
+, - | Сложение, вычитание |
<<, >> | Битовый сдвиг вправо или влево |
& | Битовое И |
| | Битовое ИЛИ |
in, not in, is, is not, <, <=, >, >=, !=, == | Проверка на членство и равенство |
not x | Булево (логическое) НЕ |
and | Булево И |
or | Булево ИЛИ |
if… else | Условное выражение |
lambda… | Лямбда-выражение |
Python предлагает строковые методы (можно применять с любым объектом str) и модуль string, содержащий полезные определения. Задействуем проверочные переменные:
>>> s = "OH, my paws and whiskers!"
>>> t = "I'm late!"
В следующих примерах оболочка Python выведет результат вызова метода, но оригинальные переменные s и t не изменятся.
>>> s.capitalize()
'Oh, my paws and whiskers!'
>>> s.lower()
'oh, my paws and whiskers!'
>>> s.swapcase()
'oh, MY PAWS AND WHISKERS!'
>>> s.title()
'Oh, My Paws And Whiskers!'
>>> s.upper()
'OH, MY PAWS AND WHISKERS!'
>>> s.count('w')
2
>>> s.find('w')
9
>>> s.index('w')
9
>>> s.rfind('w')
16
>>> s.rindex('w')
16
>>> s.startswith('OH')
True
>>> ''.join(s)
'OH, my paws and whiskers!'
>>> ' '.join(s)
'O H , m y p a w s a n d w h i s k e r s !'
>>> ' '.join((s, t))
"OH, my paws and whiskers! I'm late!"
>>> s.lstrip('HO')
', my paws and whiskers!'
>>> s.replace('H', 'MG')
'OMG, my paws and whiskers!'
>>> s.rsplit()
['OH,', 'my', 'paws', 'and', 'whiskers!']
>>> s.rsplit(' ', 1)
['OH, my paws and', 'whiskers!']
>>> s.split(' ', 1)
['OH,', 'my paws and whiskers!']
>>> s.split(' ')
['OH,', 'my', 'paws', 'and', 'whiskers!']
>>> s.splitlines()
['OH, my paws and whiskers!']
>>> s.strip()
'OH, my paws and whiskers!'
>>> s.strip('s!')
'OH, my paws and whisker'
>>> s.center(30)
' OH, my paws and whiskers! '
>>> s.expandtabs()
'OH, my paws and whiskers!'
>>> s.ljust(30)
'OH, my paws and whiskers! '
>>> s.rjust(30)
' OH, my paws and whiskers!'
>>> s.isalnum()
False
>>> s.isalpha()
False
>>> s.isprintable()
True
>>> s.istitle()
False
>>> s.isupper()
False
>>> s.isdecimal()
False
>>> s.isnumeric()
False
Существуют атрибуты класса, которые используются как определение констант (табл. Д.2).
Таблица Д.2. Атрибуты для определения констант
Атрибут | Пример |
ascii_letters | 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' |
ascii_lowercase | 'abcdefghijklmnopqrstuvwxyz' |
ascii_uppercase | 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
digits | '0123456789' |
hexdigits | '0123456789abcdefABCDEF' |
octdigits | '01234567' |
punctuation | '!”#$%&\'()*+,–./:;<=>?@[\\]^_\{|}~'` |
printable | цифры + ascii_символы + пунктуация + пробел |
whitespace | ' \t\n\r\x0b\x0c' |