Математический анализ. 3е издание
Скачать 4.86 Mb.
|
Who are you?"else: print " Hello %s!" % cgi.escape(form['user'].value)print " Решения упражнений 823 curs.execute('drop database testpeopledb') except: pass # Отсутствует curs.execute('create database testpeopledb') curs.execute('use testpeopledb') curs.execute('create table people (name char(30), job char(10), pay int(4))') curs.execute('insert people values (%s, %s, %s)', ('Bob', 'dev', 50000)) curs.execute('insert people values (%s, %s, %s)', ('Sue', 'dev', 60000)) curs.execute('insert people values (%s, %s, %s)', ('Ann', 'mgr', 40000)) curs.execute('select * from people') for row in curs.fetchall(): print row curs.execute('select * from people where name = %s', ('Bob',)) print curs.description colnames = [desc[0] for desc in curs.description] while True: print '' * 30 row = curs.fetchone() if not row: break for (name, value) in zip(colnames, row): print '%s => %s' % (name, value) conn.commit() # Сохранить добавленные записи # Сценарий для заполнения базы данных shelve объектами Python rec1 = {'name': {'first': 'Bob', 'last': 'Smith'}, 'job': ['dev', 'mgr'], 'age': 40.5} rec2 = {'name': {'first': 'Sue', 'last': 'Jones'}, 'job': ['mgr'], 'age': 35.0} import shelve db = shelve.open('dbfile') db['bob'] = rec1 db['sue'] = rec2 db.close() # Сценарий для вывода и изменения базы данных shelve, # созданной предыдущим сценарием import shelve db = shelve.open('dbfile') for key in db: print key, '=>', db[key] bob = db['bob'] bob['age'] += 1 db['bob'] = bob db.close() Алфавитный указатель Специальные символы : символ двоеточия, 276, 377 #, комментарии, 365 % (остаток/формат) оператор, 147 & (побитовое И) оператор, 146 * (умножение) оператор, 147 / (деление) оператор, 147 << (сдвиг влево) оператор, 146 == (проверка равенства) оператор, 175, 257 ^ (побитовое исключающее ИЛИ) оператор, 146 | (побитовое ИЛИ) оператор, 146 …, приглашение к вводу, 76 >> (сдвиг вправо) оператор, 146 >>>, приглашение к вводу, 74, 77 A abs, функция, 159 __add__, метод, 587, 607, 608 __all__, переменная, 534 all, функция, 348 and, оператор, 146, 323 any, функция, 348 Apache, 47 apply, функция, 447 applyподобный синтаксис вызова, 448 ArithmeticError, исключение (встроенное), 742 assert, инструкция, 275, 701, 725 проверка соблюдения ограничений, 725 AssertionError, исключение, 725 AttributeError, исключение, 616 B __base__, атрибут, 591 __bases__, атрибут, 628 bool, тип данных, 163 Boolean, 136 break, инструкция, 275, 332, 334 __builtin__, модуль, 159, 401, 404 C C, язык программирования, интеграция, 50 C++, язык программирования, 40, 50 __call__, метод, 608, 620 chr, функция, 453 __class__, атрибут, 591, 628 class, инструкция, 275, 561, 578, 595 атрибуты данных, 597 вложенные инструкции, 596 общая форма, 596 пример, 596 пространство имен, 596 сравнение с именами в модуле, 596 сравнение с функциями, 596 classtree, функция, 630 __cmp__, метод, 608 COM, поддержка в MS Windows, 44 contextlib, модуль, 730 continue, инструкция, 275, 332, 334 CPython, 65 csh, командная оболочка, 784 D Dabo, 43 __debug__, флаг, 725 def, инструкция, 275, 387, 389, 599 return, yield, 386 и lambda, 441 del, инструкция, 275 __del__, метод, 608, 623 Алфавитный указатель 825 __dict__, атрибут, 590, 627, 649 dict, функцияконструктор, 356 dir, функция, 90, 121, 366 distutils, 498 Django, 44 __doc__, атрибут, 367, 657 Doctest, 769 E Eclipse, интегрированная среда разработки, 98, 769 else, инструкция, 335 __enter__, метод, 729 enumerate, функция, 356 env, команда в UNIX, 82 __eq__, метод, 608 eval, функция, 64, 158, 432 использование функции eval для строк в объекты, 249 except, предложение инструкции try, 710 Exception, исключение (встроенное), 742 exec, инструкция, 275 exec, функция, 64 execfile(module.py), встроенная функция, 92 __exit__, метод, 729 F False, предопределенное имя, 163 FIFO, файлы, 252 filter, функция, 331, 454 find, метод, 205 for, циклы, 337 readlines, метод, 346 вложенные, 341 внутри функции, 393 и генераторы списков, 458 итераторы, 345 кортежи, 340 переменные цикла, 340 общий формат, 337 строки, 339 типичные варианты использования, 339 for/else, инструкция, 275 freeze, 69, 770 from *, инструкция, 503, 550 from, инструкция, 275, 503, 549 и import, 506 модули, 485 потенциальные проблемы, 507 рекурсия, 553 G __getattr__, метод, 608, 615, 648 __getattribute__, метод, только в классах нового стиля, 676 __getitem__, метод, 608 реализует доступ к элементам по индексу, 609 global, инструкция, 275, 386, 388, 406 GTK, 43 H help, функция, 121, 205, 369, 372 hex, функция, 158 HTML (Hyper Text Markup Language – гипертекстовый язык разметки), 44 I __iadd__, метод, 607, 608 IDLE, индегрированная среда разработки, 769 if, инструкции, 315 множественное ветвление, 316 общая форма, 315 простые примеры, 316 if/elif/else, инструкция, 274 if/else, трехместное выражение, 325 import as, расширение, 539 import, инструкция, 87, 275, 488, 490, 503 sys.path, список, 494 выбор файла модуля, 495 выполняется только один раз, 504 домашний каталог, 492 дополнительные возможности выбора модуля, 496 запуск, 497 и from, 506 и пространства имен, 91 использование расширений имен файлов, 379 каталоги стандартной библиотеки, 492 когда необходимо использовать, 508 компиляция, 496 826 Алфавитный указатель модули, 485 переменная окружения PYTHON PATH, 492 примечания к использованию, 91 содержимое файлов с расширением . pht, 492 __import__, функция, 496, 549 in, оператор проверки на вхождение, 146, 331, 342, 348 IndexError, исключение, 704 Informix, система управления базами данных, 45 __init__, метод, 570, 588, 608 __init__.py, файлы, 523 int, функция, 158, 196, 286 intersect, функция, 394 IronPython, 44, 66 is not, оператор, 146 __iter__, метод, 608, 609 iter, функция, 346, 461 J join, метод, 205, 207, 349 Jython, 43, 65 K Komodo, индегрированная среда разработки, 99, 769 ksh, командная оболочка, 784 L lambdaвыражения, 415, 440, 441 вложенные, 445 где используются, 442 и def, 441 операторы, 146 тело, 441 lambda, инструкция, 386 LEGB, правило, 401, 406, 511 __len__, метод, 608 len, функция, 117, 227, 387 Linux, 47 list, функция, 174, 207, 243, 349 __lt__, метод, 608 M map, функция, 331, 348, 354, 449, 465 и генераторы списков, 459 и функциональное программирование, 449 math, модуль, 116 MFC, 43 mod_python, 44 __mul__, метод, 587 MySQL, система управления базами данных, 45 N __name__, атрибут, 535 .NET, платформа, 44 NLTK, пакет, 46 None, объект, 259 not in, оператор, 146 not, оператор, 146 NotImplementedError, исключение, 606 NULL, указатель в языке C, 259 NumPy, расширение, 45, 145 O oct, функция, 158 ODBC, 45 open, функция, 135, 136, 387 __or__, метод, 608 or, оператор, 146, 323 Oracle, система управления базами данных, 45 ord, функция, 453 OverflowError, исключение (встроенное), 742 P Parrot, 70 pass, инструкция, 275, 332, 333 PATH, переменная окружения, 73, 782 Perl, язык программирования, 47, 51 pickle, модуль, 45, 249, 647 PMW, 43, 69 pop, метод, 230 PostgreSQL, система управления базами данных, 45 pow, функция, 450 print, инструкция, 74, 80, 274, 307 в интерактивном режиме, 76 и sys.stdout, 311 перенаправление потока вывода, 308 программа Hello World, 308 расширение print >> file, 309 Алфавитный указатель 827 числа, 152 Psyco, 771 динамический компилятор, 67 .py, расширение имен файлов, 78, 95 py2exe, 69, 770 PyChecker, 768 PyDev, модуль расширения, 98 PyDoc, 121, 365, 768 help, функция, 365, 369, 372 отчеты в формате HTML, 365, 372 pygame, 46, 69 PyGTK, библиотека создания графического интерфейса, 69 PyInstaller, 69, 770 Pylons, 44 PyPI, вебсайты, 46 PyPy, 70 PySol, программа, 46 Python архитектура программы, 487 импортирование и атрибуты, 487 как организована программа, 487 в сравнении с другими языками программирования, 54 структура, 273 Python 3.0, 447, 450, 452 nonlocal, инструкция, 411 инструкция print, 312 исключения, 712 классы, 669 сильные стороны языка, 46 смешивание типов, 222 Python for .NET, 66 PythonCard, интегрированная среда разработки, 99 PYTHONPATH, переменная окружения, 492, 782 каталоги, 492 PYTHONSTARTUP, переменная окружения, 782 PythonWin, интегрированная среда разработки, 99 PyUnit, 768 Q Qt, 43 R __radd__, метод, 607, 608, 619 raise, инструкция, 275, 701, 722 общие формы, 747 передача дополнительных данных, 723 передача сигналов из функций по условию, 756 random, модуль, 116, 159 range, функция, 297, 332, 350 изменение списков, 352 обход части последовательнсти, 352 счетные циклы, 350 raw_input, функция, 285, 312, 756 readlines, метод, 346 reduce, функция, 331 reload, функция, 88, 514, 552 вместе с инструкцией from, 550 модули, 485 основы использования, 515 подробнее, 516 пример использования, 516 примечания к использованию, 91 replace, метод, 205 __repr__, метод, 608, 618, 621, 650 repr, функция, 147, 153, 196 return, инструкция, 275, 388, 389 round, функция, 159 Run Module, пункт меню в среде IDLE, 92 S self, 579 set, функция, 136, 161 __setattr__, метод, 608, 615 __setitem__, метод, 608 Shedskin, 68, 771 shelve, модуль, 647 SIP, 44 __slots__, атрибут, в классах нового стиля, 673 sorted, функция, 131, 348, 379, 465 SQLite, 45 SQLObject, 45 Stackless Python, 70 StandardError, исключение (встроенное), 742 stdout, объект, 307 StopIteration, исключение, 461, 611 __str__, метод, 608, 618, 621 str, функция, 147, 153 sum, функция, 348, 465 SWIG, 44 828 Алфавитный указатель Swing, 43 Sybase, система управления базами данных, 45 SyntaxError, исключение, 715 sys, модуль, 307 sys.exc_info, функция, 729, 759 sys.modules, словарь, 545 sys.path, список, 494, 538 sys.stdout, объект, 311 T Tcl, язык программирования, 47 TCL_LIBRARY, переменная окружения, 782 Tkinter, 43, 69 GUI API, 562 графический интерфейс, 93 TK_LIBRARY, переменная окружения, 782 True, предопределенное имя, 163 try, инструкция обработка ошибок, 288 отладка с помощью инструкции try, 757 try/else, инструкция, 713 try/except, инструкция, 701, 708, 718 вложение, 720 вложенная, 752 пример использования объединенной инструкции, 720 try/except/else, инструкция, 709 try/except/finally, инструкция, 275 try/finally, инструкция, 701, 708, 716 вложенная, 753 программирование завершающих действий, 716 tuple, функция, 243, 349, 422 TurboGears, 44 type, функция, 393 U unittest, модуль, 768 update, метод, 230 V Vaults of Parnassus, вебсайты, 46 Vista, установка Python 2.5 из установочного файла формата MSI, 780 W WebWare, 44 while, циклы, 330 имитация циклов while языка C, 338 общий формат, 331 примеры, 331 while/else, инструкция, 275 win32all, пакет расширений для Win dows, 531 WingIDE, интегрированная среда разработки, 99 with/as, инструкция, 275, 701, 726 протокол управления контекстом, 728 wxPython, 43, 69 X xmlrpclib, модуль, 46 Y yield, инструкция, 275 Z zip, функция, 350, 354 конструирование словарей, 355 ZODB, 45 Zope, 44 А абсолютный импорт, 540 абстрактные суперклассы, 605 автоматическое присвоение расширений файлам в операционной системе Win dows, 79 автоматическое управление памятью, 49 агрегирование, 643 адаптация через наследование, 563 альтернативные реализации CPython, 65 IronPython, 66 Jython, 65 анонимные функции, 440 аргументы значения по умолчанию, 427 Алфавитный указатель 829 и разделяемые ссылки, 419 извлечение аргументов из коллекции, 429 изменяемые объекты передаются по указателю, 419 комбинирование ключей и значений по умолчанию, 430 неизменяемые объекты передаются по значению, 419 передача в функции, 388 передача по ключу, 426, 436, 448 передача через операцию присваивания, 423 применение функций, 447 произвольное количество, 428 режимы сопоставления переменное число аргументов, 424 по ключам, 424 по позиции, 423 по умолчанию, 424 сбор аргументов в коллекцию, 428 функция поиска минимума, 430 аргументы командной строки, 196 аргументы передаются через автоматическое присваивание объектов локальным именам, 418 аргументы по ключу передача, 448 аргументы со значениями по умолчанию, 414 ассоциативные массивы, 225 атрибуты, 487, 767 def, инструкция, 597 имена, 624 классов, 603 псевдочастные, 665 для чего нужны, 666 экземпляров, 602 атрибуты данных, 597 Б базы данных, 45 байткод, 40 компиляция, 62 библиотеки утилит, 50 битовые операторы, 146 блок else в циклах, 332 быстрое создание прототипов, 45 В ввод составных инструкций, 76 вебсценарии, 44 взаимодействие, 469 взаимосвязи типа «имеет», 643 взаимосвязи типа «является», 641 включение будущих возможностей языка, 534 вложенные модули, 96 вложенные области видимости lambda, 445 вложенные функции, области видимости, 410 и lambdaвыражения, 415 вложенные циклы, 454 внешние инструменты, 767 возбуждение и обработка собственных исключений, 722 возможность запуска программ из текстового редактора, 101 восьмеричные литералы, 144, 158 вспомогательные модули, 145 встраивание кода на языке Python в C, 44 расширение типов, 662 встроенные инструменты, 49 типы объектов, 49 встроенные типы зачем нужны, 112 расширение, 661 встраиванием, 662 наследованием, 663 встроенные функции abs, 159 all, 348 any, 348 apply, 447 chr, 453 dict, 356 dir, 121, 366 enumerate, 356 eval, 158, 432 execfile(module.py), 92 False, имя, 163 filter, 454 help, 121 hex, 158 __import__, 496, 549 int, 158, 196, 286 830 Алфавитный указатель iter, 346, 461 len, 117, 387 list, 174, 243, 349 map, 342, 348, 354, 449, 465 __name__, атрибут, 535 oct, 158 open, 135, 136, 387 ord, 453 pow, 450 random, модуль, 159 range, 297, 332, 350 raw_input, 285, 312, 756 reload, 514 пример использования, 516 repr, 147, 153, 196 round, 159 set, 136, 161 sorted, 131, 348, 465 str, 147, 153 sum, 348, 465 sys.path, список, 538 True, имя, 163 tuple, 243, 349, 422 type, 393 zip, 350, 354 длинные целые, 156 принудительное преобразование типов, 149 числовые литералы, 145 вызов метода, 599, 600 вызовы, 386, 390 встроенные, 100 обработка, 620 вызовы функций, 274 выполнение PVM, 63 виртуальная машина Python, 63 выполнение программы, 60 компиляция в байткод, 62 производительность, 63 скорость разработки, 64 выражениягенераторы, 465 высокая скорость разработки, 38 выходные параметры, имитация, 422 Г Гвидо ван Россума (Guido van Rossum), 669 генераторы, 459 методы send и next, 463 пример, 461 генераторы списков, 348, 357, 452 выражениягенераторы, 465 и map, 459 и кортежи, 243 и матрицы, 456 и циклы for, 458 основы, 358, 453 проверки и вложенные циклы, 454 расширенный синтаксис, 360 файлы, 359 гибкость кода нарушение, 137 гибкость объектов, 253 глобальная область видимости, 399 глобальные переменные, минимизация количества, 407 границы блоков, 319, 320 границы инструкций, 319 групповое присваивание, 293, 294, 298 разделяемые ссылки, 298 Д декораторы функций, 623, 649, 681 пример, 683 делегирование, 648 деление истинное, 153 классическое, 153 с округлением вниз, 153 дескрипторы файлов, 136, 252 деструктор, 623 динамическая типизация, 49, 114, 166 отсутствие инструкций объявления, 166 переменные, объекты и ссылки, 167 разделяемые ссылки, 171 и изменяемые объекты, 173 и равенство, 175 сборка мусора, 170 типы, 169 динамический компилятор (justin time, JIT), 67 длинные целые, 156 домашний каталог программы, 492 дополняющее присваивание, 299 преимущества, 300 разделяемые ссылки, 301 Алфавитный указатель 831 З завершающие действия с помощью инструкции try/finally, 716 заключительные операции, 703 замыкания, 412 записи, в виде классов, 639 запуск Python интерпретатор, 61 запутать программный код, как не, 444 зарезервированные слова, 302 значения по умолчанию, 474 И иерархии типов, 260 понятий, 273 избегать воздействий на изменяемые аргументы, 421 извлечение среза, 180 изменения внутри функции аргумента, который является изменяемым объектом, 419 в соседних модулях, минимизация, 408 значений имен в других файлах, 506 изменяемые объекты, 474 в операциях присваивания, 378 изменяемые типы, 212 имена атрибутов, 403 имитация частных атрибутов экземпляра, 617 импортирование и перезагрузка, 86 и атрибуты, 487 и области видимости, 512 пример, 90 примечания к использованию, 91 индексация, 117, 180 инкапсуляция, 573, 637 инструкции, 273 в форме выражений, 444 не имеющие вложенных инструкций, 323 присваивания, 274 разделители, 282, 321 специальные случаи, 282 инструкции выражений, 305 типичные, 305 инструкции импортирования импортирование модулей по имени в виде строки, 548 синтаксис относительного импорта, 539 инструкции присваивания, 292, 293 групповые, 293, 298 разделяемые ссылки, 298 дополнительные варианты, 296 дополняющие, 299 преимущества, 300 разделяемые ссылки, 301 комбинированные, 293 кортежей и списков, 293 последовательностей, 293 инструменты разработки крупных проектов, 767 интеграция компонентов, 44 с языком C, 50 интегрированные среды разработки, 769 Eclipse, 98 Komodo, 99 PythonCard, 99 PythonWin, 99 WingIDE, 99 интерактивные циклы, 284 вложенный программный код, 289 математическая обработка данных пользователя, 285 пример простого цикла, 284 проверка ввода, 286 интерактивный режим, 72 ввод составных инструкций, 76 изменение строки приглашения к вводу, 76 использование, 75 отступы, 76 тестирование программного кода, 74 интернационализация, 187 Интернетмодули, 44 интерпретатор, 58 соглашения по именованию, 303 интерфейсы, программные, 43 интроспекция, 545 информация о состоянии, 138 исключения, 701, 767 AssertionError, 725 except, предложение инструкции try, пустое, 710 IndexError, 704 |