Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Проверка типа содержимого строкиСодержание книги
Поиск на нашем сайте
>>> "0123".isalnum(), "123abc".isalnum(), "abc123".isalnum() (True, True, True) >>> "строка".isalnum() True >>> "".isalnum(), "123 abc".isalnum(), "abc, 123.".isalnum() (False, False, False)
>>> "string".isalpha(), "строка".isalpha(), "".isalpha() (True, True, False) >>> "123abc".isalpha(), "str str".isalpha(), "st,st".isalpha() (False, False, False)
>>> "0123".isdigit(), "123abc".isdigit(), "abc123".isdigit() (True, False, False)
>>> "123".isdecimal(), "123стр".isdecimal() (True, False)
>>> "\u2155".isnumeric(), "\u2155".isdigit() (True, False) >>> print("\u2155") # Выведет символ "1/5"
>>> "STRING".isupper(), "СТРОКА".isupper(), "".isupper() (True, True, False) >>> "STRING1".isupper(), "СТРОКА, 123".isupper(), "123".isupper() (True, True, False) >>> "string".isupper(), "STRing".isupper() (False, False)
>>> "srting".islower(), "строка".islower(), "".islower() (True, True, False) >>> "string1".islower(), "str, 123".islower(), "123".islower() (True, True, False) >>> "STRING".islower(), "Строка".islower() (False, False)
>>> "Str Str".istitle(), "Стр Стр".istitle() (True, True) >>> "Str Str 123".istitle(), "Стр Стр 123".istitle() (True, True) >>> "Str str".istitle(), "Стр стр".istitle() (False, False) >>> "".istitle(), "123".istitle() (False, False)
>>> "123".isprintable() True >>> "PHP Python".isprintable() True >>> "\n".isprintable() False
>>> "".isspace(), " \n\r\t".isspace(), "str str".isspace() (False, True, False)
>>> "s".isidentifier() True >>> "func".isidentifier() True >>> "123func".isidentifier() False
>>> keyword.iskeyword("else") True >>> keyword.iskeyword("elsewhere") False
Листинг 6.4. Суммирование неопределенного количества чисел # -*- coding: utf-8 -*- print("Введите слово 'stop' для получения результата") summa = 0 while True: x = input("Введите число: ") if x == "stop": break # Выход из цикла if x == "": print("Вы не ввели значение!") continue if x[0] == "-": # Если первым символом является минус if not x[1:].isdigit(): # Если фрагмент не состоит из цифр print("Необходимо ввести число, а не строку!") continue else: # Если минуса нет, то проверяем всю строку if not x.isdigit(): # Если строка не состоит из цифр print("Необходимо ввести число, а не строку!") continue x = int(x) # Преобразуем строку в число summa += x print("Сумма чисел равна:", summa) input() 6.12. Тип данных bytes >>> bytes() b'' >>> bytes("строка", "cp1251") b'\xf1\xf2\xf0\xee\xea\xe0' >>> bytes("строка") Traceback (most recent call last): File "<pyshell#33>", line 1, in <module> bytes("строка") TypeError: string argument without an encoding
>>> bytes("string\uFFFD", "cp1251", "strict") Traceback (most recent call last): File "<pyshell#35>", line 1, in <module> bytes("string\uFFFD", "cp1251", "strict") File "C:\Python34\lib\encodings\cp1251.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_table) UnicodeEncodeError: 'charmap' codec can't encode character '\ufffd' in position 6: character maps to <undefined> >>> bytes("string\uFFFD", "cp1251", "replace") b'string?' >>> bytes("string\uFFFD", "cp1251", "ignore") b'string'
>>> "строка".encode() b'\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xba\xd0\xb0' >>> "строка".encode(encoding="cp1251") b'\xf1\xf2\xf0\xee\xea\xe0' >>> "строка\uFFFD".encode(encoding="cp1251", errors="xmlcharrefreplace") b'\xf1\xf2\xf0\xee\xea\xe0�' >>> "строка\uFFFD".encode(encoding="cp1251", errors="backslashreplace") b'\xf1\xf2\xf0\xee\xea\xe0\\ufffd'
>>> b"string", b'string', b"""string""", b'''string''' (b'string', b'string', b'string', b'string') >>> b"строка" SyntaxError: bytes can only contain ASCII literal characters. >>> b"\xf1\xf2\xf0\xee\xea\xe0" b'\xf1\xf2\xf0\xee\xea\xe0'
>>> b = bytes([225, 226, 224, 174, 170, 160]) >>> b b'\xe1\xe2\xe0\xae\xaa\xa0' >>> str(b, "cp866") 'строка'
>>> bytes(10) b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>>> b = bytes.fromhex(" e1 e2e0ae aaa0 ") >>> b b'\xe1\xe2\xe0\xae\xaa\xa0' >>> str(b, "cp866") 'строка'
>>> b = bytes("string", "cp1251") >>> b b'string' >>> b[0] # Обращение по индексу >>> b[1:3] # Получение среза b'tr' >>> b + b"123" # Конкатенация b'string123' >>> b * 3 # Повторение b'stringstringstring' >>> 115 in b, b"tr" in b, b"as" in b (True, True, False)
>>> list(bytes("string", "cp1251")) [115, 116, 114, 105, 110, 103]
>>> b = bytes("string", "cp1251") >>> b[0] = 168 Traceback (most recent call last): File "<pyshell#76>", line 1, in <module> b[0] = 168 TypeError: 'bytes' object does not support item assignment
>>> b = bytes("string", "cp1251") >>> b.replace(b"s", b"S") b'String'
>>> b"string" + "string" Traceback (most recent call last): File "<pyshell#79>", line 1, in <module> b"string" + "string" TypeError: can't concat bytes to str >>> b"string" + "string".encode("ascii") b'stringstring'
>>> len("строка") >>> len(bytes("строка", "cp1251")) >>> len(bytes("строка", "utf-8"))
>>> b = bytes("строка", "cp1251") >>> b.decode(encoding="cp1251"), b.decode("cp1251") ('строка', 'строка')
>>> b = bytes("строка", "cp1251") >>> str(b, "cp1251") 'строка'
Листинг 6.5. Преобразование кодировок >>> w = bytes("Строка", "cp1251") # Данные в кодировке windows-1251 >>> k = w.decode("cp1251").encode("koi8-r") >>> k, str(k, "koi8-r") # Данные в кодировке KOI8-R (b'\xf3\xd4\xd2\xcf\xcb\xc1', 'Строка') >>> w = k.decode("koi8-r").encode("cp1251") >>> w, str(w, "cp1251") # Данные в кодировке windows-1251 (b'\xd1\xf2\xf0\xee\xea\xe0', 'Строка') 6.13. Тип данных bytearray >>> bytearray() bytearray(b'') >>> bytearray("строка", "cp1251") bytearray(b'\xf1\xf2\xf0\xee\xea\xe0') >>> bytearray("строка") Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> bytearray("строка") TypeError: string argument without an encoding
>>> bytearray("string\uFFFD", "cp1251", "strict") Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> bytearray("string\uFFFD", "cp1251", "strict") File "C:\Python34\lib\encodings\cp1251.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_table) UnicodeEncodeError: 'charmap' codec can't encode character '\ufffd' in position 6: character maps to <undefined> >>> bytearray("string\uFFFD", "cp1251", "replace") bytearray(b'string?') >>> bytearray("string\uFFFD", "cp1251", "ignore") bytearray(b'string')
>>> b = bytearray([225, 226, 224, 174, 170, 160]) >>> b bytearray(b'\xe1\xe2\xe0\xae\xaa\xa0') >>> bytearray(b'\xe1\xe2\xe0\xae\xaa\xa0') bytearray(b'\xe1\xe2\xe0\xae\xaa\xa0') >>> str(b, "cp866") 'строка'
>>> bytearray(5) bytearray(b'\x00\x00\x00\x00\x00')
>>> b = bytearray.fromhex(" e1 e2e0ae aaa0 ") >>> b bytearray(b'\xe1\xe2\xe0\xae\xaa\xa0') >>> str(b, "cp866") 'строка'
>>> b = bytearray("Python", "ascii") >>> b[0] # Можем получить значение >>> b[0] = b"J"[0] # Можем изменить значение >>> b bytearray(b'Jython')
>>> b = bytearray("string", "ascii") >>> b.append(b"1"[0]); b bytearray(b'string1')
>>> b = bytearray("string", "ascii") >>> b.extend(b"123"); b bytearray(b'string123')
>>> b = bytearray("string", "ascii") >>> b + b"123" # Возвращает новый объект bytearray(b'string123') >>> b += b"456"; b # Изменяет текущий объект bytearray(b'string456')
>>> b = bytearray("string", "ascii") >>> b[len(b):] = b"123" # Добавляем элементы в последовательность >>> b bytearray(b'string123')
>>> b = bytearray("string", "ascii") >>> b.insert(0, b"1"[0]); b bytearray(b'1string')
>>> b = bytearray("string", "ascii") >>> b[:0] = b"123"; b bytearray(b'123string')
>>> b = bytearray("string", "ascii") >>> b.pop() # Удаляем последний элемент >>> b bytearray(b'strin') >>> b.pop(0) # Удаляем первый элемент >>> b bytearray(b'trin')
>>> b = bytearray("string", "ascii") >>> del b[5] # Удаляем последний элемент >>> b bytearray(b'strin') >>> del b[:2] # Удаляем первый и второй элементы >>> b bytearray(b'rin')
>>> b = bytearray("strstr", "ascii") >>> b.remove(b"s"[0]) # Удаляет только первый элемент >>> b bytearray(b'trstr')
>>> b = bytearray("string", "ascii") >>> b.reverse(); b bytearray(b'gnirts')
>>> b = bytearray("строка", "cp1251") >>> b.decode(encoding="cp1251"), b.decode("cp1251") ('строка', 'строка')
>>> b = bytearray("строка", "cp1251") >>> str(b, "cp1251") 'строка' 6.14. Преобразование объекта в последовательность байтов import pickle
>>> import pickle >>> obj1 = [1, 2, 3, 4, 5] # Список >>> obj2 = (6, 7, 8, 9, 10) # Кортеж >>> pickle.dumps(obj1) b'\x80\x03]q\x00(K\x01K\x02K\x03K\x04K\x05e.' >>> pickle.dumps(obj2) b'\x80\x03(K\x06K\x07K\x08K\tK\ntq\x00.'
>>> pickle.loads(b'\x80\x03]q\x00(K\x01K\x02K\x03K\x04K\x05e.') [1, 2, 3, 4, 5] >>> pickle.loads(b'\x80\x03(K\x06K\x07K\x08K\tK\ntq\x00.') (6, 7, 8, 9, 10) Шифрование строк import hashlib
>>> import hashlib >>> h = hashlib.sha1(b"password")
>>> h = hashlib.sha1() >>> h.update(b"password")
>>> h = hashlib.sha1(b"password") >>> h.digest() b'[\xaaa\xe4\xc9\xb9??\x06\x82%\x0bl\xf83\x1b~\xe6\x8f\xd8' >>> h.hexdigest() '5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8'
Листинг 6.6. Проверка правильности ввода пароля >>> import hashlib >>> h = hashlib.md5(b"password") >>> p = h.hexdigest() >>> p # Пароль, сохраненный в базе '5f4dcc3b5aa765d61d8327deb882cf99' >>> h2 = hashlib.md5(b"password") # Пароль, введенный пользователем >>> if p == h2.hexdigest(): print("Пароль правильный")
>>> h = hashlib.sha512(b"password") >>> h.digest_size
>>> import hashlib >>> dk = hashlib.pbkdf2_hmac('sha512', b'1234567', b'saltsaltsaltsalt', 100000) >>> dk b"Sb\x85tc-\xcb@\xc5\x97\x19\x90\x94@\x9f\xde\x07\xa4p-\x83\x94\xf4\x94\x99\x07\xec\xfa\xf3\xcd\xc3\x88jv\xd1\xe5\x9a\x119\x15/\xa4\xc2\xd3N\xaba\x02\xc0s\xc1\xd1\x0b\x86xj(\x8c>Mr'@\xbb" Регулярные выражения import re
|
||||
Последнее изменение этой страницы: 2016-06-23; просмотров: 343; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.36.45 (0.005 с.) |