![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Встроенные функции и методы для работы с числамиСодержание книги
Поиск на нашем сайте
>>> int(7.5), int("71", 10), int("0o71", 8), int("0xA", 16) (7, 71, 57, 10) >>> int(), int("0b11111111", 2) (0, 255)
>>> float(7), float("7.1"), float("12.") (7.0, 7.1, 12.0) >>> float("inf"), float("-Infinity"), float("nan") (inf, -inf, nan) >>> float() 0.0
>>> bin(255), bin(1), bin(-45) ('0b11111111', '0b1', '-0b101101')
>>> oct(7), oct(8), oct(64) ('0o7', '0o10', '0o100')
>>> hex(10), hex(16), hex(255) ('0xa', '0x10', '0xff')
>>> round(0.49), round(0.50), round(0.51) (0, 0, 1) >>> round(1.49), round(1.50), round(1.51) (1, 2, 2) >>> round(2.49), round(2.50), round(2.51) (2, 2, 3) >>> round(3.49), round(3.50), round(3.51) (3, 4, 4)
>>> round(1.524, 2), round(1.525, 2), round(1.5555, 3) (1.52, 1.52, 1.556)
>>> abs(-10), abs(10), abs(-12.5) (10, 10, 12.5)
>>> pow(10, 2), 10 ** 2, pow(3, 3), 3 ** 3 (100, 100, 27, 27)
>>> pow(10, 2, 2), (10 ** 2) % 2, pow(3, 3, 2), (3 ** 3) % 2 (0, 0, 1, 1)
>>> max(1, 2, 3), max(3, 2, 3, 1), max(1, 1.0), max(1.0, 1) (3, 3, 1, 1.0)
>>> min(1, 2, 3), min(3, 2, 3, 1), min(1, 1.0), min(1.0, 1) (1, 1, 1, 1.0)
>>> sum((10, 20, 30, 40)), sum([10, 20, 30, 40]) (100, 100) >>> sum([10, 20, 30, 40], 2), sum([], 2) (102, 2)
>>> divmod(13, 2) # 13 == 6 * 2 + 1 (6, 1) >>> 13 // 2, 13 % 2 (6, 1) >>> divmod(13.5, 2.0) # 13.5 == 6.0 * 2.0 + 1.5 (6.0, 1.5) >>> 13.5 // 2.0, 13.5 % 2.0 (6.0, 1.5)
>>> (2.0).is_integer() True >>> (2.3).is_integer() False
>>> (0.5).as_integer_ratio() (1, 2) >>> (2.3).as_integer_ratio() (2589569785738035, 1125899906842624) 5.2. Модуль math. Математические функции import math
>>> import math >>> math.pi 3.141592653589793
>>> math.e 2.718281828459045
>>> math.degrees(math.pi) 180.0
>>> math.radians(180.0) 3.141592653589793
>>> math.sqrt(100), math.sqrt(25) (10.0, 5.0)
>>> math.ceil(5.49), math.ceil(5.50), math.ceil(5.51) (6, 6, 6)
>>> math.floor(5.49), math.floor(5.50), math.floor(5.51) (5, 5, 5)
>>> math.pow(10, 2), 10 ** 2, math.pow(3, 3), 3 ** 3 (100.0, 100, 27.0, 27)
>>> math.fabs(10), math.fabs(-10), math.fabs(-12.5) (10.0, 10.0, 12.5)
>>> math.fmod(10, 5), 10 % 5, math.fmod(10, 3), 10 % 3 (0.0, 0, 1.0, 1)
>>> math.factorial(5), math.factorial(6) (120, 720)
>>> sum([.1,.1,.1,.1,.1,.1,.1,.1,.1,.1]) 0.9999999999999999 >>> fsum([.1,.1,.1,.1,.1,.1,.1,.1,.1,.1]) 1.0 5.3. Модуль random. import random
>>> import random >>> random.random() 0.9753144027290991 >>> random.random() 0.5468390487484339 >>> random.random() 0.13015058054767736
>>> random.seed(10) >>> random.random() 0.5714025946899135 >>> random.seed(10) >>> random.random() 0.5714025946899135
>>> random.uniform(0, 10) 9.965569925394552 >>> random.uniform(0, 10) 0.4455638245043303
>>> random.randint(0, 10) >>> random.randint(0, 10)
>>> random.randrange(10) >>> random.randrange(0, 10) >>> random.randrange(0, 10, 2)
>>> random.choice("string") # Строка 'i' >>> random.choice(["s", "t", "r"]) # Список 'r' >>> random.choice(("s", "t", "r")) # Кортеж 't'
>>> arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> random.shuffle(arr) >>> arr [8, 6, 9, 5, 3, 7, 2, 4, 10, 1]
>>> random.sample("string", 2) ['i', 'r'] >>> arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> random.sample(arr, 2) [7, 10] >>> arr # Сам список не изменяется [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> random.sample((1, 2, 3, 4, 5, 6, 7), 3) [6, 3, 5] >>> random.sample(range(300), 5) [126, 194, 272, 46, 71]
Листинг 5.1. Генератор паролей # -*- coding: utf-8 -*- import random # Подключаем модуль random def passw_generator(count_char=8): arr = ['a','b','c','d','e','f','g','h','i','j','k','l','m', 'n','o','p','q','r','s','t','u','v','w','x','y','z', 'A','B','C','D','E','F','G','H','I','J','K','L', 'M','N','O','P','Q','R','S','T','U','V', 'W', 'X','Y','Z','1','2','3','4','5','6','7','8','9','0'] passw = [] for i in range(count_char): passw.append(random.choice(arr)) return "".join(passw)
# Вызываем функцию print(passw_generator(10)) # Выведет что-то вроде ngODHE8J8x print(passw_generator()) # Выведет что-то вроде ZxcpkF5O input() Строки и двоичные данные Листинг 6.1. Попытка изменить символ по индексу >>> s = "Python" >>> s[0] # Можно получить символ по индексу 'P' >>> s[0] = "J" # Изменить строку нельзя Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> s[0] = "J" # Изменить строку нельзя TypeError: 'str' object does not support item assignment
>>> type("строка") <class 'str'> >>> "строка".encode(encoding="cp1251") b'\xf1\xf2\xf0\xee\xea\xe0' >>> "строка".encode(encoding="utf-8") b'\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xba\xd0\xb0'
>>> s = bytes("стр str", "cp1251") >>> s[0], s[5], s[0:3], s[4:7] (241, 116, b'\xf1\xf2\xf0', b'str') >>> s b'\xf1\xf2\xf0 str'
>>> len("строка") >>> len(bytes("строка", "cp1251")) >>> len(bytes("строка", "utf-8"))
>>> s = bytearray("str", "cp1251") >>> s[0] = 49; s # Можно изменить символ bytearray(b'1tr') >>> s.append(55); s # Можно добавить символ bytearray(b'1tr7') Создание строки >>> str(), str([1, 2]), str((3, 4)), str({"x": 1}) ('', '[1, 2]', '(3, 4)', "{'x': 1}") >>> str(b"\xf1\xf2\xf0\xee\xea\xe0") "b'\\xf1\\xf2\\xf0\\xee\\xea\\xe0'"
>>> str(b"\xf1\xf2\xf0\xee\xea\xe0", "cp1251") 'строка'
>>> obj1 = bytes("строка1", "utf-8") >>> obj2 = bytearray("строка2", "utf-8")
>>> str(obj1, "utf-8"), str(obj2, "utf-8") ('строка1', 'строка2') >>> str(obj1, "ascii", "strict") Traceback (most recent call last): File "<pyshell#16>", line 1, in <module> str(obj1, "ascii", "strict") UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128) >>> str(obj1, "ascii", "ignore") '1'
>>> 'строка', "строка", '"x": 5', "'x': 5" ('строка', 'строка', '"x": 5', "'x': 5") >>> print('Строка1\nСтрока2') Строка1 Строка2 >>> print("Строка1\nСтрока2") Строка1 Строка2
>>> print("Строка1\\nСтрока2") Строка1\nСтрока2 >>> print('Строка1\\nСтрока2') Строка1\nСтрока2
>>> "\"x\": 5", '\'x\': 5' ('"x": 5', "'x': 5")
>>> "string SyntaxError: EOL while scanning string literal
>>> "string1\ string2" # После \ не должно быть никаких символов 'string1string2' >>> ("string1" "string2") # Неявная конкатенация строк 'string1string2' >>> ("string1" + "string2") # Явная конкатенация строк 'string1string2'
>>> print("string\")
SyntaxError: EOL while scanning string literal >>> print("string\\") string\
>>> print('''Строка1 Строка2''') Строка1 Строка2 >>> print("""Строка1 Строка2""") Строка1 Строка2
>>> def test(): """Это описание функции""" pass
>>> print(test.__doc__) Это описание функции
>>> print("Строка1\nСтрока2") Строка1 Строка2 >>> print(r"Строка1\nСтрока2") Строка1\nСтрока2 >>> print(r"""Строка1\nСтрока2""") Строка1\nСтрока2
>>> print(r"C:\Python34\lib\site-packages") C:\Python34\lib\site-packages
>>> print("C:\\Python34\\lib\\site-packages") C:\Python34\lib\site-packages
>>> print(r"C:\Python34\lib\site-packages\")
SyntaxError: EOL while scanning string literal >>> print(r"C:\Python34\lib\site-packages\\") C:\Python34\lib\site-packages\\
>>> print(r"C:\Python34\lib\site-packages" + "\\") # Конкатенация C:\Python34\lib\site-packages\ >>> print("C:\\Python34\\lib\\site-packages\\") # Обычная строка C:\Python34\lib\site-packages\ >>> print(r"C:\Python34\lib\site-packages\\"[:-1]) # Удаление слэша C:\Python34\lib\site-packages\ Специальные символы >>> print("Этот символ \не специальный") Этот символ \не специальный
>>> print("Этот символ \\не специальный") Этот символ \не специальный Операции над строками >>> s = "Python" >>> s[0], s[1], s[2], s[3], s[4], s[5] ('P', 'y', 't', 'h', 'o', 'n')
>>> s = "Python" >>> s[10] Traceback (most recent call last): File "<pyshell#90>", line 1, in <module> s[10] IndexError: string index out of range
>>> s = "Python" >>> s[-1], s[len(s)-1] ('n', 'n')
>>> s = "Python" >>> s[0] = "J" # Изменить строку нельзя Traceback (most recent call last): File "<pyshell#94>", line 1, in <module> s[0] = "J" # Изменить строку нельзя TypeError: 'str' object does not support item assignment >>> s = "Python"
>>> s[:] # Возвращается фрагмент от позиции 0 до конца строки 'Python'
>>> s[::-1] # Указываем отрицательное значение в параметре <Шаг> 'nohtyP'
>>> "J" + s[1:] # Извлекаем фрагмент от символа 1 до конца строки 'Jython'
>>> s[:-1] # Возвращается фрагмент от 0 до len(s)-1 'Pytho'
>>> s[0:1] # Символ с индексом 1 не входит в диапазон 'P'
>>> s[-1:] # Получаем фрагмент от len(s)-1 до конца строки 'n'
>>> s[2:5] # Возвращаются символы с индексами 2, 3 и 4 'tho'
>>> len("Python"), len("\r\n\t"), len(r"\r\n\t") (6, 3, 6)
>>> s = "Python" >>> for i in range(len(s)): print(s[i], end=" ")
>>> s = "Python" >>> for i in s: print(i, end=" ")
>>> print("Строка1" + "Строка2") Строка1Строка2
>>> print("Строка1" "Строка2") Строка1Строка2
>>> s = "Строка1", "Строка2" >>> type(s) # Получаем кортеж, а не строку <class 'tuple'>
>>> s = "Строка1" >>> print(s + "Строка2") # Нормально Строка1Строка2 >>> print(s "Строка2") # Ошибка SyntaxError: invalid syntax
>>> "string" + str(10) 'string10'
>>> "-" * 20 '--------------------' >>> "yt" in "Python" # Найдено True >>> "yt" in "Perl" # Не найдено False >>> "PHP" not in "Python" # Не найдено True
Форматирование строк >>> "%s" % 10 # Один элемент '10' >>> "%s — %s — %s" % (10, 20, 30) # Несколько элементов '10 — 20 — 30'
>>> "%(name)s — %(year)s" % {"year": 1978, "name": "Nik"} 'Nik — 1978'
>>> print("%#o %#o %#o" % (0o77, 10, 10.5)) 0o77 0o12 0o12 >>> print("%#x %#x %#x" % (0xff, 10, 10.5)) 0xff 0xa 0xa >>> print("%#X %#X %#X" % (0xff, 10, 10.5)) 0XFF 0XA 0XA >>> print("%#.0F %.0F" % (300, 300)) 300. 300
>>> "'%d' — '%05d'" % (3, 3) # 5 — ширина поля "'3' — '00003'"
>>> "'%5d' — '%-5d'" % (3, 3) # 5 — ширина поля "' 3' — '3 '" >>> "'%05d' — '%-05d'" % (3, 3) "'00003' — '3 '"
>>> "'% d' — '% d'" % (-3, 3) "'-3' — ' 3'"
>>> "'%+d' — '%+d'" % (-3, 3) "'-3' — '+3'"
>>> "'%10d' — '%-10d'" % (3, 3) "' 3' — '3 '" >>> "'%3s''%10s'" % ("string", "string") "'string'' string'"
>>> "'%*s''%10s'" % (10, "string", "str") "' string'' str'"
>>> import math >>> "%s %f %.2f" % (math.pi, math.pi, math.pi) '3.141592653589793 3.141593 3.14'
>>> "'%*.*f'" % (8, 5, math.pi) "' 3.14159'"
>>> print("%s" % ("Обычная строка")) Обычная строка >>> print("%s %s %s" % (10, 10.52, [1, 2, 3])) 10 10.52 [1, 2, 3]
>>> print("%r" % ("Обычная строка")) 'Обычная строка'
>>> print("%a" % ("строка")) '\u0441\u0442\u0440\u043e\u043a\u0430'
>>> for i in range(33, 127): print("%s => %c" % (i, i))
>>> print("%d %d %d" % (10, 25.6, -80)) 10 25 -80 >>> print("%i %i %i" % (10, 25.6, -80)) 10 25 -80
>>> print("%o %o %o" % (0o77, 10, 10.5)) 77 12 12 >>> print("%#o %#o %#o" % (0o77, 10, 10.5)) 0o77 0o12 0o12
>>> print("%x %x %x" % (0xff, 10, 10.5)) ff a a >>> print("%#x %#x %#x" % (0xff, 10, 10.5)) 0xff 0xa 0xa
>>> print("%X %X %X" % (0xff, 10, 10.5)) FF A A >>> print("%#X %#X %#X" % (0xff, 10, 10.5)) 0XFF 0XA 0XA
>>> print("%f %f %f" % (300, 18.65781452, -12.5)) 300.000000 18.657815 -12.500000 >>> print("%F %F %F" % (300, 18.65781452, -12.5))
300.000000 18.657815 -12.500000 >>> print("%#.0F %.0F" % (300, 300)) 300. 300
print("%e %e" % (3000, 18657.81452)) 3.000000e+03 1.865781e+04
>>> print("%E %E" % (3000, 18657.81452)) 3.000000E+03 1.865781E+04
>>> print("%g %g %g" % (0.086578, 0.000086578, 1.865E-005)) 0.086578 8.6578e-05 1.865e-05
>>> print("%G %G %G" % (0.086578, 0.000086578, 1.865E-005)) 0.086578 8.6578E-05 1.865E-05
>>> print("% %s" % ("- это символ процента")) # Ошибка Traceback (most recent call last): File "<pyshell#55>", line 1, in <module> print("% %s" % ("- это символ процента")) # Ошибка TypeError: not all arguments converted during string formatting >>> print("%% %s" % ("- это символ процента")) # Нормально % — это символ процента
Листинг 6.2. Пример использования форматирования строк # -*- coding: utf-8 -*- html = """<html> <head><title>%(title)s</title> </head> <body> <h1>%(h1)s</h1> <div>%(content)s</div> </body> </html>""" arr = {"title": "Это название документа", "h1": "Это заголовок первого уровня", "content": "Это основное содержание страницы"} print(html % arr) # Подставляем значения и выводим шаблон input()
>>> s = "1\t12\t123\t" >>> "'%s'" % s.expandtabs(4) "'1 12 123 '"
>>> s = "\t" >>> "'%s' — '%s'" % (s.expandtabs(), s.expandtabs(4)) "' ' — ' '" >>> s = "1234\t" >>> "'%s'" % s.expandtabs(4) "'1234 '"
>>> s = "12345\t123456\t1234567\t1234567890\t" >>> "'%s'" % s.expandtabs(4) "'12345 123456 1234567 1234567890 '"
>>> s = "str" >>> s.center(15), s.center(11, "-") (' str ', '----str----')
>>> s = "str" >>> "'%15s' '%-15s' '%s'" % (s, s, s.center(15)) "' str' 'str ' ' str '"
>>> s = "string" >>> s.center(6), s.center(5) ('string', 'string')
>>> s = "string" >>> s.ljust(15), s.ljust(15, "-") ('string ', 'string---------') >>> s.ljust(6), s.ljust(5) ('string', 'string')
>>> s = "string" >>> s.rjust(15), s.rjust(15, "-") (' string', '---------string') >>> s.rjust(6), s.rjust(5) ('string', 'string')
>>> "5".zfill(20), "123456".zfill(5) ('00000000000000000005', '123456') 6.5. Метод format() >>> print("Символы {{ и }} — {0}".format("специальные")) Символы { и } — специальные
>>> "{0} — {1} — {2}".format(10, 12.3, "string") # Индексы '10 — 12.3 — string' >>> arr = [10, 12.3, "string"] >>> "{0} — {1} — {2}".format(*arr) # Индексы '10 — 12.3 — string' >>> "{model} — {color}".format(color="red", model="BMW") # Ключи 'BMW — red' >>> d = {"color": "red", "model": "BMW"} >>> "{model} — {color}".format(**d) # Ключи 'BMW — red' >>> "{color} — {0}".format(2015, color="red") # Комбинация 'red — 2015'
>>> arr = [10, [12.3, "string"] ] >>> "{0[0]} — {0[1][0]} — {0[1][1]}".format(arr) # Индексы '10 — 12.3 — string' >>> "{arr[0]} — {arr[1][1]}".format(arr=arr) # Индексы '10 — string' >>> class Car: color, model = "red", "BMW"
>>> car = Car() >>> "{0.model} — {0.color}".format(car) # Атрибуты 'BMW — red'
>>> "{} — {} — {} — {n}".format(1, 2, 3, n=4) # "{0} — {1} — {2} — {n}" '1 — 2 — 3 — 4' >>> "{} — {} — {n} — {}".format(1, 2, 3, n=4) # "{0} — {1} — {n} — {2}" '1 — 2 — 4 — 3'
>>> print("{0!s}".format("строка")) # str() строка >>> print("{0!r}".format("строка")) # repr() 'строка' >>> print("{0!a}".format("строка")) # ascii() '\u0441\u0442\u0440\u043e\u043a\u0430'
>>> "'{0:10}' '{1:3}'".format(3, "string")
"' 3' 'string'"
>>> "'{0:{1}}'".format(3, 10) # 10 — это ширина поля "' 3'"
>>> "'{0:<10}' '{1:>10}' '{2:^10}'".format(3, 3, 3) "'3 ' ' 3' ' 3 '"
>>> "'{0:=10}' '{1:=10}'".format(-3, 3) "'- 3' ' 3'"
>>> "'{0:=010}' '{1:=010}'".format(-3, 3) "'-000000003' '0000000003'"
>>> "'{0:0=10}' '{1:0=10}'".format(-3, 3) "'-000000003' '0000000003'" >>> "'{0:*<10}' '{1:+>10}' '{2:.^10}'".format(3, 3, 3) "'3*********' '+++++++++3' '....3.....'"
>>> "'{0:+}' '{1:+}' '{0:-}' '{1:-}'".format(3, -3) "'+3' '-3' '3' '-3'" >>> "'{0: }' '{1: }'".format(3, -3) # Пробел "' 3' '-3'"
>>> "'{0:b}' '{0:#b}'".format(3) "'11' '0b11'"
>>> "'{0:c}'".format(100) "'d'"
>>> import locale >>> locale.setlocale(locale.LC_NUMERIC, 'Russian_Russia.1251') 'Russian_Russia.1251' >>> print("{0:n}".format(100000000).replace("\uffa0", " ")) 100 000 000
>>> import locale >>> locale.setlocale(locale.LC_NUMERIC, "Russian_Russia.1251") 'Russian_Russia.1251' >>> print(locale.format("%d", 100000000, grouping = True)) 100 000 000 >>> locale.localeconv()["thousands_sep"] '\xa0'
>>> print("{0:,d}".format(100000000)) 100,000,000
>>> "'{0:d}' '{0:o}' '{0:#o}'".format(511) "'511' '777' '0o777'"
>>> "'{0:x}' '{0:#x}'".format(255) "'ff' '0xff'"
>>> "'{0:X}' '{0:#X}'".format(255) "'FF' '0XFF'"
>>> "'{0:f}' '{1:f}' '{2:f}'".format(30, 18.6578145, -2.5) "'30.000000' '18.657815' '-2.500000'"
>>> "'{0:.7f}' '{1:.2f}'".format(18.6578145, -2.5) "'18.6578145' '-2.50'"
>>> "'{0:e}' '{1:e}'".format(3000, 18657.81452) "'3.000000e+03' '1.865781e+04'"
>>> "'{0:E}' '{1:E}'".format(3000, 18657.81452) "'3.000000E+03' '1.865781E+04'"
>>> "'{0:.2e}' '{1:.2E}'".format(3000, 18657.81452) "'3.00e+03' '1.87E+04'"
>>> "'{0:g}' '{1:g}'".format(0.086578, 0.000086578) "'0.086578' '8.6578e-05'"
>>> "'{0:G}' '{1:G}'".format(0.086578, 0.000086578) "'0.086578' '8.6578E-05'"
>>> "'{0:%}' '{1:.4%}'".format(0.086578, 0.000086578) "'8.657800%' '0.0087%'"
|
|||||||||
Последнее изменение этой страницы: 2016-06-23; просмотров: 291; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.23.92.193 (0.011 с.) |