Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
При импорте можно изменить имя,с которым объект будет связан,с помощью as.В первомСодержание книги
Поиск на нашем сайте border_color))
· Не рекомендуется ставить пробелы сразу после открывающей скобки или перед закрывающей,перед запятой,точкой с запятой,перед открывающей скобкой при записи вызова функции или индексного выражения.Также не рекомендуется ставить более одного пробела вокруг знака равенства в присваиваниях.Пробелы вокруг знака равенства не ставятся в случае,когда он применяется для указания значения по умолчанию в определении параметров функции или при задании именованных аргументов.
· Также рекомендуется применение одиночных пробелов вокруг низкоприоритетных операций сравнения и оператора присваивания.Пробелы вокруг более приоритетных операций ставятся в равном количестве слева и справа от знака операции.
Несколько рекомендаций касаются написания комментариев.
· Комментарии должны точно отражать актуальное состояние кода. (Поддержание актуальных комментариев должно быть приоритетной задачей!)После коротких
комментариев можно не ставить точку,тогда как длинные лучше писать по правилам написания текста.АвторPythonобращается к неанглоязычным программистам с просьбой писать комментарии на английском,если есть хотя бы небольшая вероятность того,что код будут читать специалисты,говорящие на других языках.
· Комментарии к фрагменту кода следует писать с тем же отступом,что и комментируемый код.После"#"должен идти одиночный пробел.Абзацы можно отделять строкой с"#"на том же уровне.Блочный комментарий можно отделить пустыми строками от окружающего кода.
· Комментарии,относящиеся к конкретной строке,не следует использовать часто.Символ"#"должен отстоять от комментируемого оператора как минимум на два пробела.
· Хороший комментарий не перефразирует программу,а содержит дополнительную информацию о действии программы в терминах предметной области.
Все модули,классы,функции и методы,предназначенные для использования за пределами модуля,должны иметь строки документации,описывающие способ их применения,входные и выходные параметры.
· Строка документации для отдельной программы должна объяснять используемые ею ключи,назначение аргументов и переменных среды и другую подобную информацию.
· Для строк документации рекомендуется везде использовать утроенные кавычки
("""). · Однострочная документация пишется в императиве,как команда: "делай это","возвращай то". · Многострочная документация содержит расширенное описание модуля,функции,класса.Она будет смотреться лучше,если текст будет написан с тем же отступом,что и начало строки документации.
· Документация для модуля должна перечислять экспортируемые функции,классы,исключения и другие объекты,по одной строке на объект. · Строка документации для функции или метода должна кратко описывать действия функции,ее входные параметры и возвращаемое значение,побочные эффекты и возможные исключения(если таковые есть).Должны быть обозначены необязательные аргументы и аргументы,не являющиеся частью интерфейса.
· Документация для класса должна перечислять общедоступные методы и атрибуты,
содержать рекомендации по применению класса в качестве базового для других классов.Если класс является подклассом,необходимо указать,какие методы полностью заменяют,перегружают,а какие используют,но расширяют соответствующие методы надкласса.Необходимо указать и другие изменения по сравнению с надклассом.
· Контроль версий повышает качество процесса создания программного обеспечения.Для этих целей часто используютсяRCSилиCVS. "Python Style Guide"рекомендует записывать $Revision:1.31 $ в переменную с именем __version__,а другие данные заключать в комментарии"#".
Сегодня сосуществуют несколько более или менее широко распространенных правил именования объектов.Программисты вольны выбрать тот,который принят в их организации или конкретном проекте.АвторPythonрекомендует придерживаться нижеследующих правил для именования различных объектов,с тем чтобы это было понятно любому программисту,использующемуPython.
· Имена модулей лучше давать строчными буквами,например,shelve,string,либо делать первые буквы слов прописными,StringIO,UserDict.Имена написанных наCмодулей расширения обычно начинаются с подчеркивания"_",а соответствующие им высокоуровневые обертки-с прописных букв:_tkinter и Tkinter.
· Ключевые слова нельзя использовать в качестве имен,однако,если все-таки необходимо воспользоваться этим именем,стоит добавить одиночное подчеркивание в конце имени.Например:class_.
· Классы обычно называют,выделяя первые буквы слов прописными,как в Tag или
HTTPServer. · Имена исключений обычно содержат в своем составе слово"error" (или"warning").Встроенные модули пишут это слово со строчной буквы(как os.error) (но могут писать и с прописной):distutils.DistutilsModuleError. · Функции,экспортируемые модулем,могут именоваться по-разному.Можно давать с прописных букв имена наиболее важных функций,а вспомогательные писать строчными.
· Имена глобальных переменных(если таковые используются)лучше начинать с подчеркивания,чтобы они не импортировались из модуля оператором from-import со звездочкой.
· Имена методов записываются по тем же правилам,что и имена функций.
· Имена констант(имен,которые не должны переопределяться)лучше записывать прописными буквами,например:RED,GREEN,BLUE.
· При работе с языкомPythonнеобходимо учитывать,что интерпретатор считает некоторые классы имен специальными(обычно такие имена начинаются с подчеркивания).
Заключение
В этой лекции синтаксис языка показан на примерах,что в случае сPythonоправдано,так как эта часть языка достаточна проста.Были рассмотрены основные операторы языка,выражения и многие из встроенных типов данных,кратко объяснены принципы работыPython с именами, приведены правила официального стиля программирования на Python.
Лекция#2:Основные стандартные модулиPython
Одним из важных преимуществ языкаPythonявляется наличие большой библиотеки модулей и пакетов,входящих в стандартную поставку.Как говорят,кPython "приложены батарейки".
Понятие модуля
Перед тем как приступить к изучению моделей стандартной библиотеки,необходимо определить то,что вPythonназывается модулем.
В соответствии с модульным подходом к программированию большая задача разбивается на несколько более мелких,каждую из которых(в идеале)решает отдельный модуль.В разных методологиях даются различные ограничения на размер модулей,однако при построении модульной структуры программы важнее составить такую композицию модулей,которая позволила бы свести к минимуму связи между ними.Набор классов и функций,имеющий множество связей между своими элементами,было бы логично расположить в одном модуле.Есть и еще одно полезное замечание:модули должно быть легче использовать,чем написать заново.Это значит,что модуль должен иметь удобный интерфейс:набор функций,классов и констант,который он предлагает своим пользователям.
В языкеPythonнабор модулей,посвященных одной проблеме,можно поместить в пакет.Хорошим примером такого пакета является пакет xml,в котором собраны модули для различных аспектов обработкиXML.
В программе наPythonмодуль представлен объектом-модулем,атрибутами которого являются имена,определенные в модуле: >>> import datetime >>> d1 = datetime.date(2004, 11, 20) В данном примере импортируется модуль datetime.В результате работы оператора import в текущем пространстве имен появляется объект с именем datetime.
Модули для использования в программах на языкеPythonпо своему происхождению делятся на обычные(написанные наPython)и модули расширения,написанные на другом языке программирования(как правило,наC).С точки зрения пользователя они могут отличаться разве что быстродействием.Бывает,что в стандартной библиотеке есть два варианта модуля:наPythonи наC.Таковы,например,модули pickle и cPickle.Обычно
модули наPythonв чем-то гибче,чем модули расширения.
Модули в Python
Модуль оформляется в виде отдельного файла с исходным кодом.Стандартные модули находятся в каталоге,где их может найти соответствующий интерпретатор языка.Пути к каталогам,в которыхPythonищет модули,можно увидеть в значении переменной
sys.path:
>>> sys.path
['', '/usr/local/lib/python23.zip', '/usr/local/lib/python2.3', '/usr/local/lib/python2.3/plat-linux2', '/usr/local/lib/python2.3/lib-tk', '/usr/local/lib/python2.3/lib-dynload', '/usr/local/lib/python2.3/site-packages']
В последних версияхPythonмодули можно помещать и вzip-архивы для более компактного хранения(по аналогии сjar-архивами вJava).
При запуске программы поиск модулей также идет в текущем каталоге. (Нужно внимательно называть собственные модули,чтобы не было конфликта имен со стандартными или дополнительно установленными модулями.)
Подключение модуля к программе наPythonосуществляется с помощью оператора import.У него есть две формы:import и from-import:
import os import pre as re
from sys import argv, environ from string import *
С помощью первой формы с текущей областью видимости связывается только имя,ссылающееся на объект модуля,а при использовании второй-указанные имена(или все имена,если применена *)объектов модуля связываются с текущей областью видимости.
случае пространство имен модуля остается в отдельном имени и для доступа к конкретному имени из модуля нужно применять точку.Во втором случае имена используются так,как если бы они были определены в текущем модуле:
|
||
|
Последнее изменение этой страницы: 2024-06-27; просмотров: 51; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.176 (0.01 с.) |