Инструменты пользователя

Инструменты сайта


develop:pyton:digit

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
develop:pyton:digit [2022/02/13 07:19]
admin
develop:pyton:digit [2022/12/01 06:42] (текущий)
admin
Строка 99: Строка 99:
  
 ==== Форматирование строк ==== ==== Форматирование строк ====
- 
- 
 <code python> <code python>
 <Строка специального формата> % <Значение> <Строка специального формата> % <Значение>
Строка 113: Строка 111:
 # <Ширина> - мин ширина поля # <Ширина> - мин ширина поля
 </code> </code>
 +
  
  
Строка 124: Строка 123:
 "{0} - {1} - {2}".format(10, 12.3, "String") # '10 - 12.3 String' "{0} - {1} - {2}".format(10, 12.3, "String") # '10 - 12.3 String'
 </code> </code>
 +
  
  
Строка 134: Строка 134:
 a= 10; b= 12.3; s= "string" a= 10; b= 12.3; s= "string"
 f"{a} - {b} - {s}" f"{a} - {b} - {s}"
 +
 +# Еще вариант вставки переменных в строку
 +print("{0} - {1}".format(1, 2))
 </code> </code>
 +
  
  
Строка 140: Строка 144:
   * **strip()** - удаляет указанные символы в начале и конце строки (если не указано то пробелы удаляет)   * **strip()** - удаляет указанные символы в начале и конце строки (если не указано то пробелы удаляет)
   * **l[r]strip()** - тоже самое только вначале (в конце) строки   * **l[r]strip()** - тоже самое только вначале (в конце) строки
-  * **split(<Разделитель>=пробел, <Лимит>=)** - разбивает на подстроки+  * **split(<Разделитель>=пробел, <Лимит>= )** - разбивает на подстроки
   * **rsplit()** - справа на лево   * **rsplit()** - справа на лево
   * **splitlines(<False>- не включать разделить в результат)** - разбивает по строкам (символ переноса строки)   * **splitlines(<False>- не включать разделить в результат)** - разбивает по строкам (символ переноса строки)
Строка 148: Строка 152:
 " => ".join(["one", "two", "three"]) # 'one => two => three' " => ".join(["one", "two", "three"]) # 'one => two => three'
 </code> </code>
 +
  
  
 ==== Локаль ==== ==== Локаль ====
-**locate(<категория>, <локаль>=)**\\+**locate(<категория>, <локаль>= )**\\
 Модуль **locale**, устанавливать несколько раз.\\ Модуль **locale**, устанавливать несколько раз.\\
 Установить можно командой **locate.setlocate(<Категория>)**, получить текущую **locate.getlocate(<Категория>)**, получить настройки локали можно **locate.localeconv()**\\ Установить можно командой **locate.setlocate(<Категория>)**, получить текущую **locate.getlocate(<Категория>)**, получить настройки локали можно **locate.localeconv()**\\
Строка 160: Строка 165:
   * **locate.LC_NUMERIC** - для чисел   * **locate.LC_NUMERIC** - для чисел
   * **locate.LC_TIME** -  для даты/время   * **locate.LC_TIME** -  для даты/время
 +
  
  
 ==== Регистр символов ==== ==== Регистр символов ====
 **upper(), lower(), swapcase(), capitalize(), title(), casefold()**- верхний/нижний/противоположный регистры, первая буква заглавная, тоже но для каждого слова, заменяет расширенные символы буквами, полезно при сравнении строк.\\ **upper(), lower(), swapcase(), capitalize(), title(), casefold()**- верхний/нижний/противоположный регистры, первая буква заглавная, тоже но для каждого слова, заменяет расширенные символы буквами, полезно при сравнении строк.\\
 +
  
  
 ==== Функции и методы символов ==== ==== Функции и методы символов ====
 **chr(), ord()**- возвращает символ указанного кода, и код указанного символа\\ **chr(), ord()**- возвращает символ указанного кода, и код указанного символа\\
 +
  
  
 ==== Поиск и замена ==== ==== Поиск и замена ====
-  * **find()** - возвращает номер позиции с которой начинается подстрока или -1 если ее нет, **чувствителен к регистру**. <строка>.find(<подстрока>, <начало>=, <конец>=), если начало и конец указаны, поиск производится в срезе+  * **find()** - возвращает номер позиции с которой начинается подстрока или -1 если ее нет, **чувствителен к регистру**. <строка>.find(<подстрока>, <начало>=, <конец>= ), если начало и конец указаны, поиск производится в срезе
   * **index()** - аналогично, но вызовет исключение если подстроки нет   * **index()** - аналогично, но вызовет исключение если подстроки нет
   * **rfind()/rindex()** - аналогично но возвращает номер последнего вхождения   * **rfind()/rindex()** - аналогично но возвращает номер последнего вхождения
   * **count()** - кол-во вхождений   * **count()** - кол-во вхождений
   * **startswith()/endswith()** - начинается (заканчивается) ли строка с указанной подстроки   * **startswith()/endswith()** - начинается (заканчивается) ли строка с указанной подстроки
-  * **replace()** - возвращает новую строку. <строка>.replace(<подстрока>, <новая подстрока>, <мах кол-во замены>=)+  * **replace()** - возвращает новую строку. <строка>.replace(<подстрока>, <новая подстрока>, <мах кол-во замены>= )
   * **translate(<таблица символов>)** - в аргументе принимает словарь, собсна заменяет все указанные символы соответствующими, "None"- удаляет. В ключе словаря должен быть указано Unicode номер символа, с этим может помочь метод **maketrans(dict)**. Для удаления можно указать целую строку символов, третьим параметром   * **translate(<таблица символов>)** - в аргументе принимает словарь, собсна заменяет все указанные символы соответствующими, "None"- удаляет. В ключе словаря должен быть указано Unicode номер символа, с этим может помочь метод **maketrans(dict)**. Для удаления можно указать целую строку символов, третьим параметром
 +
  
  
 ==== Проверка типа содержимого строки ==== ==== Проверка типа содержимого строки ====
 Есть рад функций типа **isalnum()**, **isalpha()**, **isdigit()**, **isdecimal()**, **isnumeric()**, **isupper()**, **istitle()** и т.д., для проверки содержимого\\ Есть рад функций типа **isalnum()**, **isalpha()**, **isdigit()**, **isdecimal()**, **isnumeric()**, **isupper()**, **istitle()** и т.д., для проверки содержимого\\
 +
  
  
Строка 188: Строка 198:
  
 **bytearray**- впринципе тоже самое, но последовательность изменяемая\\ **bytearray**- впринципе тоже самое, но последовательность изменяемая\\
 +
  
  
Строка 194: Строка 205:
   * **dump(<Объект>, <протокол>=, <fix_imports>=True)** - возвращает последовательность байт, в соответствии с протоколом   * **dump(<Объект>, <протокол>=, <fix_imports>=True)** - возвращает последовательность байт, в соответствии с протоколом
   * **load(<последовательность байт>, <fix_imports>=True, <encoding>=ASCII, <errors>)** -  обратное д-е   * **load(<последовательность байт>, <fix_imports>=True, <encoding>=ASCII, <errors>)** -  обратное д-е
 +
  
  
Строка 199: Строка 211:
 Модуль **hashlib**\\ Модуль **hashlib**\\
 Функции типа **md5()**, **sha1,224,256,384()**, в 3.6 появились еще **sha3_224,256,512()** и т.д. Функции типа **md5()**, **sha1,224,256,384()**, в 3.6 появились еще **sha3_224,256,512()** и т.д.
 +
  
  
 ===== Регулярные выражения ===== ===== Регулярные выражения =====
 **import re**\\ **import re**\\
 +[[https://python.ivan-shamaev.ru/python-3-regular-expressions-regex-match-group-string|Дока]]\\
  
  
Строка 213: Строка 227:
  
 p= re.compile(r"^[а-я]+$") p= re.compile(r"^[а-я]+$")
-if p.search("Input string"): (...)+if p.search("Input string"): 
 + 
 +# Либо 
 +if re.search("^[а-я]+$", "Input string")
 </code> </code>
  
Строка 252: Строка 270:
  
 Вместо символов можно использовать классы: Вместо символов можно использовать классы:
-  * **\d** - любая цифра +  * **\d** - цифры 
-  * **\w** - любая буква+  * **\w** - цифры и буква
   * **\s** - любой пробельный символ   * **\s** - любой пробельный символ
   * **\D, \W, \S** - тоже самое, ток отрицание   * **\D, \W, \S** - тоже самое, ток отрицание
develop/pyton/digit.1644736799.txt.gz · Последнее изменение: 2022/02/13 07:19 — admin