Лутц М. - Изучаем Python (1077325), страница 80
Текст из файла (страница 80)
Документация ководству по библиотеке РуС)соп). Два, пожалуй, самых заметных интерфейса к Ру)йос — это встроенная функция Ье1р и графический интерфейс к Ру))ос для воспроизводства отчетов в формате НТМТ . Функция Ье1р вызывает РуВос для создания простых текстовых отчетов (которые выглядят как страницы руководства в Т))ч)1Х-подобных системах): »> 1арогс вуз »> Ье1р(зув. цесгесооипс) не1р оп ьи111-сп гипс11оп цесгегсоип1: цесгетсоипс(. ) цесгетсоипс(оо)есс) -> гпсецег несигп спе сиггеп1 гегегепсе соип1 сот сье оь)ес1.
.остальной текст опущен... Обратите внимание: чтобы вызывать функцию Ье1р, не обязательно импортировать модуль вув, но его необходимо импортировать, чтобы получить справку по модулю вув — функция ожидает получить ссылку на объект. Для крупных объектов, таких как модули и классы, функция Ье1р делит выводимую информацию на множество разделов, часть из которых показана здесь.
Запустите следующую команду в интерактивном сеансе, чтобы получить полный отчет: »> Ье1р(зуз) Не1р оп Ью11-1п аоси1е вув: ИАИЕ вуз Р11Е (Ьи11С-сп) ОЕВСН1РТ10И Тпсз аоси1е ргоч!сев асеева Со воще оЬ)ессв изей ог аагп1агпео ьу спе сп1егргесег апо со типсссопв .остальной текст опущен. ЕОИСТ10ИЕ Сгвр)аупооя = Осер)аупооя(...) огвр1аупоок(оь)есс) -> иоле Рыпс ап оь)ес1 со вув.всооис апо а1во паче 11 ...остальной текст опущен... ОАТА паае = 'вув' всоегг, = <ореп 111е '<з1оегг>', аоое щ' а1 Ох00828есО> ...остальной текст опущен... Часть информации в этом отчете извлечена из строк документирования, а часть этих сведений (например, сигнатуры функций) — это информация о структуре программных компонентов, которую Ру))ос извлекает автоматически, в результате анализа внутреннего устройства объектов.
Кроме того, функция Ье1р может использоваться для полу- Источники документации в языке Ру(Поп чения сведений о встроенных функциях, методах и типах. Чтобы получить справку о встроенном типе, нужно просто передать функции нмя типа (например, 01ст — для словарей, втг — для строк, 11зт — для списков). Вам будет предоставлен большой объем информации с описаниями всех методов, доступных для этого типа: »> Пе1р(О1ст) Не1р оп с1авв Отст гп восо!е Ьш111п с1авз Отсс(оо)ест) ~ Отст( ) -> пещ еарту сгстгопагу. ..остал~ной текст опущен... »> Пе1р(зтг.гер1асе) Не1р оп аетпос Оевсг(ргог.
гер1асе(...) Б гер!асе (о)о, лен[, аахвр1ы )) -> втгтпц яетогп а сору ог втг1пц 8 щттп а11 оссоггепсез ...остал~ной текст опущен... »> Пе1р(огс) Не)р оп Ьо>11-гп топо(1оп огс: ого(...) огс(с) -> 1птецег йетогп тпе гптецег огс1па1 от а опе-спагастег втг1пц. Наконец, функция Пе1р может извлекать информацию не только из встроенных, но и из любых других модулей. Ниже приводится отчет, полученный для файла с(осзтг(ляз.ру, представленного выше. Здесь снова часть информации представлена строками документирования, ачасть была получена автоматически, в результате исследования структуры объектов: »> пе1р(оосвтг1пцз.вцоаге) Не1р оп толст>оп вооаге 1п аосо1е Оосзтгтпцв; вцоаге(х) Гопстзоп аосоаептаттоп сап ще Пане уоог 1(уег тпеп? »> Пе1р(сосвтг1пцв.еар1оуее) остальной текст опущен...
»> пе1р(оосвтг1пцв) не1р оп аосо1е оосвтггпцв. НАНЕ Оосзтгтпцз Р1[Е с: 1рутпоп221оосвтг1пцв. ру ОЕЕСНЕРТ10Н Источники документации в языке Рубзоп простой доступ к документации с описанием этих компонентов. Его отчеты более полезны, чем просто списки атрибутов, хотя и менее исчерпывающи, чем стандартные руководства. о Совет дня: если поле ввода имени модуля в окне на рис. 14.1 оставить пустым и щелкнуть на кнопке «орел Ьготтзег» (открыть броузер), РуТЗос воспроизведет зеб-стрзннцу с гиперссылками на все модули, доступные для импорта на данном компьютере.
Сюда входят модули стандартной библиотеки, расширения сторонних производителей, пользовательские модули, расположенные з пути поиска импортируемых модулей, н даже модули, написанные на языке С, скомпонованные статически или динамически. Такую информацию сложно получить иными путями, если не писать свой программный код, который будет заниматься исследованием исходных текстов набора модулей.
Кроме того, РуВос может сохранять документацию з формате НТМЬ для последующего просмотра или вывода на печать; указания о том, как это сделать, зы найдете з документации. Следует отметить, что Ру)Зос может не совсем корректно работать со сценариями, которые читают данные из потока стандартного ввода,— РуВос импортирует целевой модуль для последующего исследования, но при работе з режиме с графическим интерфейсом может отсутствовать связь с потоком стандартного ввода.
Однако модули, которые не требуют немедленного ввода информации в момент импортирования, будут обслуживаться корректно. Стандартный набор руководств Стандартные руководства играют роль наиболее полного и самого свежего описания языка Ру(йоп и набора инструментальных средств. Руководства распространяются в формате НТМЬ и в других форматах и в Ю1пс(отта устанавливаются вместе системой Русйоп — они доступны в виде пунктов подменю Ру(Ьоп, в меню кнопки Пуск (51ат(), а также в меню Не1р (Справка) среды разработки ПН Е. Набор руководств можно как получить отдельно, в различных форматах, по адресу /зттрт//шшшру- 1/»оп.огя, так и читать непосредственно на сайте (следуйте по ссылке Росцпзепсат)оп (Документация)).
Руководства в системе ЪУ1пботтв оформлены в виде файлов справки, поддерживающих возможность поиска; электронная версия на сайте Рут/топ.огИ также имеет страницу поиска. После открытия руководства в операционной системе т(т(пс(отта оно отображает начальную страницу, как показано на рис. 14.4. Двумя самыми важными, пожалуй, здесь являются ссылки «ЬЕЬгагу КеГегепсе» (справочное руководство по библиотеке, где описываются встроенные типы, функции, исключения и модули стандартной библиотеки) и «Ьапяпаяе КеГегепсе» (справочное руководство по языку, где приводится формальное описание языковых конструкций). На этой странице имеется также ссылка «Тцсог1а1» (самоучитель), которая ведет к краткому введению для начинающих изучение языка.
377 Типичные ошибки программирования книги немного отстают от развития языка Ру(поп, частично из-за того, что для написания книги необходимо время, частично из-за естественных задержек, свойственных самому процессу издания. Обычно книга выходит в свет с отставанием на три или более месяцев от текущего состояния дел. В отличие от стандартных руководств, книги редко распространяются бесплатно. Однако для многих удобство и качество профессионального издания с лихвой окупает потраченные деньги. Более того, язык Ру(поп изменяется настолько медленно, что книги сохраняют свою актуальность в течение еще нескольких лет после их издания, особенно если их авторы публикуют дополнения в Сети.
Ссылки на другие книги о Ру(поп вы найдете в предисловии. Типичные ошибки программирования Прежде чем перейти к упражнениям этой части книги, рассмотрим некоторые наиболее распространенные ошибки, которые допускают начинающие программисты в инструкциях и программах на языке РуФпоп. Многие из этих ошибок, уже упоминавшиеся ранее в этой части книги, я привел здесь для полноты картины. С ростом опыта использования языка РуФоп вы научитесь избегать их, но несколько слов, сказанных сейчас, помогут вам избегать их с самого начала: ° Не забывайте про двоеточия.
Никогда не забывайте вводить символ двоеточия в конце заголовков составных инструкций (первая строка таких инструкций, как 1(, ив~1е, (ог и других1. Сначала вы наверняка будете забывать об этом (как я и большинство из 3000 моих студентов), но вскоре это превратится для вас в привычку. ° Начинайте с первой позиции в строке. Программный код верхнего уровня (не вложенный) должен начинаться с первой позиции в строке. Сюда относится как не вложенный программный код в модулях, так и программный код, который вводится в интерактивной оболочке. ° Пустые строки имеют особый смысл в интерактивной оболочке.
Пустые строки в теле составных инструкций внутри файлов модулей всегда игнорируются, но когда программный код вводится в интерактивной оболочке, они завершают составные инструкции. Другими словами, ввод пустой строки сообщает интерактивной командной оболочке, что вы закончили ввод составной инструкции— если вам необходимо продолжить ввод такой инструкции, не нажимайте клавишу Еп(ег, когда отображается строка приглашения к вводу..., пока вы действительно не закончите ее ввод. ° Используйте отступы непротиворечивым способом.