>> "строка". isalnum() True >>> "". isalnum(), "123 abc". isalnum(), "abc, 123. ". isalnum() (False, False, False) >>> "string"">
Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 451; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.176 (0.006 с.) |