Это старая версия документа!
Операции над числами разных типов возвращают число в более сложном типе
Числа можно записывать в двоичном, восьмеричном и шестнадцатеричном виде, они автоматом будут приведены к десятичной форме
0b101101 # 45 0o12 # 10 0xA # 10 .14 # 0.14 Fraction(1,2); Fraction("0.5") # дробь, одна вторая # в python 3.6, для удобства, можно добавлять подчеркивание 0b1111_1111 # 255
Float так же поддерживает
Содержит константы типа pi, e и т.д.
Функции типа sin(), cos(), tan(), exp(), log(), pow(), fmod(), fsum(), factorialsи т.д.
random.random() random.seed(10) random.choice("String") random.randrange(100,2)
Длинна строки ограничивается лишь объемом ОЗУ
Как и все последовательности поддерживает обращение по индексу, конкатенацию, срез, проверка на вхождение и т.д.
Неизменяемый тип данных т.е. методы возвращают новую строку, а не сам элемент, который можно изменить.
Нулевой символ не является концом строки
Если преобразовывать из bytes/bytearray, то необходимо указывать кодировку в функции str(), так же, она принимает параметры исключений, третьим параметром
Разницы между двойными кавычками и апострофами нет
Спец символы экранируются слешем либо символом r перед строкой
Тройные кавычки (апострофы) сохраняют все форматирование, добавляются в документацию (func.doc), печатают все спец символы
Конкатенация может происходить слешем, плюсом, внутри скобок
Типа: n,r,t,v,a,b,f - перевод строки/каретки, табуляция/вертикальная, звонок/забой оО ?, перевод формата и т.д.
Пишутся после слеша с-но
Обращение по индексу, если индекс отсутствует - исключение IndexError
В индексе можно указать отрицательное значение, тогда отсчет идет с конца (значение отнимается от длинны строки)
Полезен метод извлечения среза, все параметры необязательны, возвращается копия строки
[<Начало>:<Конец>:<Шаг>] s= Python s[:] # вся строка s[::-1] # в обратном порядке "J"+ s[1:] # замена первого символа s[:-1] # удалить последний символ s[0:1]; s[-1:] # получить первый (последний) s[2:5] # часть строки
<Строка специального формата> % <Значение> %[(<Ключ>)] [<Флаг>] [<Ширина>] [.<Точность>] <Тип преобразования> "%s - %s - %s" % (10,20,30) # '10 - 20 - 30' # <Ключ> - ключ словаря, в этом случае должен быть указан словарь "%(name)s - %(year)s" % {"year": 1978, "name": "Nil"} # <Флаг> - флаг преобразования (пробелы, нули, системы счисления) # <Ширина> - мин ширина поля
В последующих версиях python знак % перестанет использоваться, рекомендуется использовать этот метод
<Строка> = <Строка спец формата>.format(*args, **kwargs) {[<Поле>] [!<Функция>] [:<Формат>]} "{0} - {1} - {2}".format(10, 12.3, "String") # '10 - 12.3 String'
В python 3.6 есть альтернатива методу format(), т.н. «Форматируемая строка», она обязательно предваряется символом f (F), и вставляет переменные у казанные места.. типа того
{[<Переменная>] [!<Функция>] [:<Формат>]} a= 10; b= 12.3; s= "string" f"{a} - {b} - {s}"
" => ".join(["one", "two", "three"]) # 'one => two => three'
locate(<категория>, <локаль>
Модуль locale, устанавливать несколько раз.
Установить можно командой locate.setlocate(<Категория>), получить текущую locate.getlocate(<Категория>), получить настройки локали можно locate.localeconv()
upper(), lower(), swapcase(), capitalize(), title(), casefold()- верхний/нижний/противоположный регистры, первая буква заглавная, тоже но для каждого слова, заменяет расширенные символы буквами, полезно при сравнении строк.
chr(), ord()- возвращает символ указанного кода, и код указанного символа
Есть рад функций типа isalnum(), isalpha(), isdigit(), isdecimal(), isnumeric(), isupper(), istitle() и т.д., для проверки содержимого
Хранит в себе неизменяемую последовательность байт, от 0..255, можно хранить бинарные данные, поддерживает множество строковых методов
bytearray- впринципе тоже самое, но последовательность изменяемая
Преобразовать объект в последовательность байтов (т.е. выполнить сериализацию/десериализацию) можно с помощью модуля pickle
Модуль hashlib
Функции типа md5(), sha1,224,256,384(), в 3.6 появились еще sha3_224,256,512() и т.д.