Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
gt;>> profile.run("Sieve.primes(100000)")
Содержание книги
- print "%2i" % (i*j), print
- res = int(open('a.txt').read()) / int(open('c.txt').read()) print res
- Исключения можно возбуждать и из программы. Для этого служит оператор raise. Заодно
- print "Обработка гарантированно завершена"
- В этих литералах записано число 10 print 10, 012, 0xA, 10L
- Подтип целочисленного типа для"канонического"обозначения логических величин.Два значения:True(истина)и False(ложь) -вот и все,что принадлежит этому типу.Как уже
- s2 = 'строка2\nс переводом строки внутри' s3 = """строка3
- lst2 = [x**2 for x in range(10) if x % 2 == 1] lst3 = list("abcde")
- Del s[i:j:d] Удаление элементов среза из последовательности
- присваивается значение по ключу
- список или списковое включение
- Перед фактическим выполнением операции вычисляются нужные для нее операнды.
- Убрать связь имени с объектом можно с помощью оператора del. В этом случае,если
- Стиль программирования-дополнительные ограничения,накладываемые на структуру
- При импорте можно изменить имя,с которым объект будет связан,с помощью as.В первом
- digits = re.compile("\d+") print argv[0], environ
- Help on built-in function len: len(...)
- Сравнение двух значений.Результат:отрицательный,ноль или
- Функции для доступа к внутренним структурам
- Функции для работы с атрибутами
- Выход из программы. Можно передать числовой код
- наименьшее целое,большее или равное x
- Размешивает элементы изменчивой последовательности s на
- locale.setlocale(locale.LC_ALL, None)
- quot;""Модуль для вычисления простых чисел от 2 до N """
- gt;>> profile.run("Sieve.primes(100000)")
- file: test_Sieve.py import Sieve, sets import unittest
- Sieve - Модуль для вычисления простых чисел от 2 до N
- Взаимодействие с операционной системой
- chmod(path, mode) Устанавливает режим доступа к path в значение mode.Режим доступа
- использовать константы из модуля stat,например stat.ST_MTIME
- Модуль tempfile. Import tempfile. F = tempfile. Temporaryfile(). F. Write("0"*100) # записывается сто символов 0 F. Seek(0) # уст. Указатель на начало файла. Print len(f. Read()) # читается до конца файла и вычисляется длина. Обработка текстов.
- mydata = ("abc", 12, [1, 2, 3]) output_file = open("mydata.dat", "w") p = pickle.Pickler(output_file) p.dump(mydata)
- Эта категория модулей имеет применение только для конкретных операционных систем и семейств операционных систем.Довольно большое число модулей в стандартной поставке
- Поддержка Internet. Форматы данных
- Лекция#3:Элементы функционального
- Функциональная программа. Функция: определение и вызов
- Лучше всего рассмотреть синтаксис определения функции на нескольких примерах.После
- args - список аргументов в порядке их указания при вызове return max(args), min(args)
- def mylist(val, lst=[]): lst.append(val) return lst
- Функции как параметры и результат
- gt;>> print range(1, 10)
- Частный случай применения map()-использование None в качестве первого аргумента.В
- return reduce(lambda x, y: x + y, lst, start)
- Итераторы можно применять вместо последовательности в операторе for. Более того,внутренне оператор for запрашивает от последовательности ее итератор. Объект
- def forit(mystate=[]): if len(mystate) < 3: mystate.append(" ")
- Функции itertools.imap(), itertools.starmap() и itertools.ifilter()
- lst = map(lambda x: math.sin(x*.4), range(30))
- quot;""Итератор последовательности Фибоначчи до N"""
- for line in (l.replace("- ", " - ") for l in open("input.dat")): print line
(Pdb) n
> /home/rnd/workup/intuit-python/examples/Sieve.py(17)primes() -> if i in sieve:
(Pdb) n
> /home/rnd/workup/intuit-python/examples/Sieve.py(18)primes() -> sieve -= sets.Set(range(2*i, N, i))
(Pdb) n
> /home/rnd/workup/intuit-python/examples/Sieve.py(16)primes() -> for i in range(2, int(math.sqrt(N))):
(Pdb) p sieve
Set([2, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99])
(Pdb) n
> /home/rnd/workup/intuit-python/examples/Sieve.py(17)primes()
-> if i in sieve: (Pdb) n
> /home/rnd/workup/intuit-python/examples/Sieve.py(18)primes() -> sieve -= sets.Set(range(2*i, N, i))
(Pdb) n
> /home/rnd/workup/intuit-python/examples/Sieve.py(16)primes() -> for i in range(2, int(math.sqrt(N))):
(Pdb) p sieve
Set([2, 3, 5, 7, 11, 13, 17, 19, 23, 25, 29, 31, 35, 37, 41, 43, 47, 49, 53, 55, 59, 61, 65, 67, 71, 73, 77, 79, 83, 85, 89, 91, 95, 97])
Модуль profile
С помощью профайлера разработчики программного обеспечения могут узнать,сколько времени занимает исполнение различных функций и методов.
Продолжая пример с решетом Эратосфена,стоит посмотреть,как тратится процессорное время при вызове функции primes():
>>> profile.run("Sieve.primes(100000)")
709 function calls in 1.320 CPU seconds
Ordered by: standard name
ncalls
tottime
percall
cumtime
percall
filename:lineno(function)
0.010
0.010
1.320
1.320
<string>:1(?)
0.140
0.140
1.310
1.310
Sieve.py:13(primes)
0.000
0.000
1.320
1.320
profile:0(Sieve.primes(100000))
0.000
0.000
0.000
0.000
profile:0(profiler)
0.000
0.000
sets.py:119(__iter__)
0.000
0.000
0.000
0.000
sets.py:292(__contains__)
0.000
0.000
0.000
0.000
sets.py:339(_binary_sanity_check)
0.630
0.010
0.630
0.010
sets.py:356(_update)
0.000
0.000
0.630
0.010
sets.py:425(__init__)
0.010
0.000
0.540
0.008
sets.py:489(__isub__)
0.530
0.008
0.530
0.008
sets.py:495(difference_update)
Здесь ncalls-количество вызовов функции или метода,tottime-полное время выполнения кода функции(без времени нахождения в вызываемых функциях),percall-тоже,в пересчете на один вызов,cumtime-аккумулированное время нахождения в функции,вместе со всеми вызываемыми функциями.В последнем столбце приведено имя файла,номер строки с функцией или методов и его имя.
Примечание:
"Странные" имена, например, __iter__, __contains__ и __isub__ - имена методов, реализующих итерацию по элементам,проверку принадлежности элемента(in)и операцию -=.Метод __init__-конструктор объекта(в данном случае-множества).
|