Редакторы и IDE для Python. Примечания. Ваша первая программа на Python. Погружение. Объявление функций
Редакторы и IDE для Python IDLE — не лучший вариант, когда дело доходит до написания программ на Python. Поскольку программирование полезнее начинать изучать с освоения самого языка, многие разработчики предпочитают другие текстовые редакторы и интегрированные среды разработки (Integrated Development Environment, IDE). Я не буду здесь о них подробно рассказывать, но сообщество Python имеет список поддерживающих Python редакторов, покрывающий широкий спектр платформ и лицензий. Вы также можете взглянуть на список IDE, поддерживающих Python, правда, пока немногие из них поддерживают Python 3. Один из них — PyDev, плагин для Eclipse [1], превращающий его в полноценную среду разработки на Python. И Eclipse, и PyDev кроссплатформенные и открытые. На коммерческом фронте есть Komodo IDE от ActiveState. Его нужно лицензировать для каждого пользователя, но студентам дают скидки, а также есть возможность бесплатно ознакомиться с продуктом в течение ограниченного периода. Я пишу на Python девять лет, и делаю это в GNU Emacs [2], а отлаживаю в оболочке Python в командной строке. В разработке на Python нет более правильных или менее правильных способов. Делайте то, что считаете правильным, то, что работает для вас. Примечания 1. Написано немного путано, но так оно и есть. По теме можно почитать w: en: PATH (variable). — Прим. пер. 2. Обучающий курс на английском языке. В Викиучебнике доступен его перевод на русский — Учебник Python 3. 1. — Прим. пер. 3. Papaya whip (англ. ) — мусс из папайи. — Прим. пер. Ваша первая программа на Python
Погружение
Обычно книги о программировании начинаются с кучи скучных глав о базовых вещах постепенно переходят к созданию чего-нибудь полезного. Давайте всё это пропустим. Вот вам готовая, работающая программа на Python. Возможно, вы ровным счётом ничего в ней не поймёте. Не беспокойтесь об этом, скоро мы разберём её строчка за строчкой. Но сначала прочитайте код и посмотрите, что вы сможете извлечь из него. [humansize. py] SUFFIXES = {1000: ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'], def approximate_size(size, a_kilobyte_is_1024_bytes=True): Ключевые аргументы: Возвращает: текстовую строку (string) ''' multiple = 1024 if a_kilobyte_is_1024_bytes else 1000 raise ValueError('число слишком большое') if __name__ == '__main__': Теперь давайте запустим эту программу из командной строки. В Windows это будет выглядеть примерно так: c: \home\diveintopython3\examples> c: \python31\python. exe humansize. py В Mac OS X и Linux, будет почти то же самое: you@localhost: ~/diveintopython3/examples$ python3 humansize. py Что сейчас произошло? Вы выполнили свою первую программу на Python. Вы вызвали интерпретатор Python в командной строке и передали ему имя скрипта, который хотели выполнить. В скрипте определена функция approximate_size(), которая принимает точный размер файла в байтах и вычисляет «красивый» (но приблизительный) размер. (Возможно, вы видели это в Проводнике Windows, в Mac OS X Finder, в Nautilus, Dolphin или Thunar в Linux. Если отобразить папку с документами в виде таблицы, файловый менеджер в каждой её строке покажет иконку, название документа, размер, тип, дату последнего изменения и т. д. Если в папке есть 1093-байтовый файл с названием «TODO», файловый менеджер не покажет «TODO 1093 байта»; вместо этого он скажет что-то типа «TODO 1 КБ». Именно это и делает функция approximate_size(). )
Посмотрите на последние строки скрипта, вы увидите два вызова print(approximate_size(аргументы)). Это вызовы функций. Сначала вызывается approximate_size(), которой передаётся несколько аргументов, затем берётся возвращённое ею значение и передаётся прямо в функцию print(). Функция print() встроенная, вы нигде не найдёте её явного объявления. Её можно только использовать, где угодно и когда угодно. (Есть множество встроенных функций, и ещё больше функций, которые выделены в отдельные модули. Терпение, непоседа. ) Итак, почему при выполнении скрипта в командной строке, всегда получается один и тот же результат? Мы ещё дойдём до этого. Но сначала давайте посмотрим на функцию approximate_size(). Объявление функций В Python есть функции, как и в большинстве других языков, но нет ни отдельных заголовочных файлов, как в C++, ни конструкций interface/implementation, как в Паскале. Когда вам нужна функция, просто объявите её, например, так: def approximate_size(size, a_kilobyte_is_1024_bytes=True): Когда вам нужна функция, просто объявите её. Объявление начинается с ключевого слова def, затем следует имя функции, а за ним аргументы в скобках. Если аргументов несколько, они разделяются запятыми. К тому же, стоит заметить, что в объявлении функции не задаётся тип возвращаемых данных. Функции в Python не определяют тип возвращаемых ими значений; они даже не указывают, существует ли возвращаемое значение вообще. (На самом деле, любая функция в Python возвращает значение; если в функции выполняется инструкция return, она возвращает указанное в этой инструкции значение, если нет — возвращает None — специальное нулевое значение. )
Функция approximate_size() принимает два аргумента: size и kilobyte_is_1024_bytes, но ни один из них не имеет типа. В Python тип переменных никогда не задаётся явно. Python вычисляет тип переменной и следит за ним самостоятельно.
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|