Как создать свой язык программирования на python. Введение в Python. Запуск сценария в консоли

Как создать свой язык программирования на python. Введение в Python. Запуск сценария в консоли

26.02.2019
27 августа 2012 в 15:18

Учим Python качественно

  • Python

Здравствуйте всем!

Удобочитаемый синтаксис, прост в обучении, высокоуровневый язык, Объектно-Ориентированый язык программирования (ООП) , мощный, интерактивный режим, масса библиотек. Множество иных плюсов… И это всё в одном языке.
Для начала окунёмся в возможности и узнаем, что же умеет Python?

А зачем мне твой Python?

Много начинающих программистов задают подобные вопросы. Это как с покупкой телефона, скажите, почему я должен купить этот телефон, а не этот?
Качество программного обеспечения
Для многих, в том числе и для меня, основные преимущества - это удобочитаемый синтаксис. Не много языков могут похвастаться им. Программный код на Python читается легче, что значит, многократное его использование и обслуживание выполняется гораздо проще, чем использование программного кода на других языках сценариев. Python содержит самые современные механизмы многократного использования программного кода, каким является ООП .
Библиотеки поддержки
В составе Python поставляется большое число собранных и переносимых функциональных возможностей, известных как стандартная библиотека. Эта библиотека предоставляет Вам массу возможностей, востребованных в прикладных программах, начиная от поиска текста по шаблону и заканчивая сетевыми функциями. Python допускает расширение как за счёт ваших собственных библиотек, так и за счёт библиотек, созданных другими разработчиками.
Переносимость программ
Большая часть программ на языке Python выполняется без изменений на всех основных платформах. Перенос программного кода из Linux в Windows заключается в простом копировании файлов программ с одной машины на другую. Также Python предоставляет Вам массу возможностей по созданию переносимых графических интерфейсов .
Скорость разработки
По сравнению с компилирующим, или строго типизированными языками, такими как С, С++ или Java, Python во много раз повышает производительность труда разработчика. Объем программного кода на языке Python обычно составляет треть, или даже пятую часть эквивалентного программного кода на языке С++ или Java, что означает меньший объем ввода с клавиатуры, меньшее количество времени на откладку и меньший объем трудозатрат на сопровождение. Кроме того, программы на языке Python запускаются сразу же, минуя длительные этапы компиляции и связывания, необходимые в некоторых других языках программирования, что еще больше увеличивает производительность труда программиста.

Где используется Python?

  • Компания Google использует Python в своей поисковой системе и оплачивает труд создателя Python - Гвидо ван Россума
  • Такие компании, как Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm и IBM, используют Python для тестирования аппаратного обеспечения
  • Служба коллективного использования видеоматериалов YouTube в значительной степени реализована на Python
  • NSA использует Python для шифрования и анализа разведданных
  • Компании JPMorgan Chase, UBS, Getco и Citadel применяют Python для прогнозирования финансового рынка
  • Популярная программа BitTorrent для обмена файлами в пиринговых сетях написана на языке Python
  • Популярный веб-фреймворк App Engine от компании Google использует Python в качестве прикладного языка программирования
  • NASA, Los Alamos, JPL и Fermilab используют Python для научных вычислений.
и другие компании также используют этот язык.

Литература

Вот мы и познакомились поближе с языком программирования Python. Можно сказать отдельно, что плюсы Python состоят еще в том, что у него есть масса качественной литературы. Не каждый язык этим может похвастаться. К примеру язык программирования JavaScript не может порадовать пользователей множеством литературы, хотя язык действительно неплохой.

Вот источники, которые помогут Вам познакомиться ближе с Python, а может и стать будущим Гвидо ван Россумом.
* Некоторые источники могут быть на английском. Не стоит этому удивляться, сейчас масса отличной литературы пишется именно на английском языке. Да и для самого программирования надо знать хотя бы базовые знания английского.

Настоятельно рекомендую прочитать первым делом книгу - Марк Лутц. Изучаем Python, 4-е издание . Книга переведена на русский язык, так что бояться не стоит, если Вы вдруг не знаете английский. Но именно четвёртое издание.

Для тех, кто знает английский, можно прочитать документацию на официальном сайте Python . Там всё довольно понятно описано.

А если же Вы более принимаете информацию по видео, то могу посоветовать уроки от компании Google, которые ведёт Ник Парланте - ученик из Стэнфорда. Шесть видеолекций на YouTube . Но в бочке мёда тут есть капля дёгтя… Ведёт он на английском языке с английскими субтитрами. Но надеюсь, что остановит это немногих.

Что делать, если я прочитал книги, но не знаю как применять знания?

Без паники!
Советую почитать книгу Марк Лутц. Программирование на Python (4-е издание) . Ранее было «изучаем», а тут «Программирование». В «Изучаем» - Вы получаете знания Python, в «Программирование» - Марк Вас учит как их применять в Ваши будущие программы. Книга очень полезная. И думаю одной её Вам хватит.

Хочу практики!

Легко.
Выше я писал о видеолекциях от Ника Парланте на YouTube, но у них есть также некие

Язык программирования Python является универсальным языком высокого уровня. Он может быть встроен и расширен. Например, он входит в некоторые приложения в виде инструмента для написания макросов. Такая особенность делает язык программирования Python разумным выбором для осуществления многих задач программирования. Где лучше его использовать? Python прекрасно подойдет для проектов, которые требуют быстрой разработки. Данный язык программирования поддерживает несколько парадигм. Это особенно хорошо для программ, которые требуют гибкости. Наличие множества модулей и пакетов экономит время и обеспечивает универсальность. Создателем языка Python является Гвидо ван Россум. В свое время сообщество удостоило его званием «великодушный пожизненный диктатор». Гвидо в конце 80-х годов нравились особенности нескольких языков программирования. Однако ни один из этих языков не обладал теми возможностями, которые ему хотелось бы иметь. Так, например, язык должен был обладать следующими возможностями:

— язык сценариев. Сценарий представляет собой программу, которая используется для управления другими программами. Языки сценариев могут использоваться для прототипирования и быстрой разработки. По этой причине они прекрасно справляются с передачей данных от одного компонента к другому и избавляют программистов от таких сложных вещей, как управление памятью. Программисты называют Python динамическим языком программирования.

— отступ для группирования операторов. Язык программирования Python определяет принадлежность выражений к одной группе при помощи отступов. Данная группа называется блоком кода. В других языках программирования используются другие знаки препинания и синтаксис. Так, например, в языке С символ «{» означает начало последовательности команд. Наличие отступов является хорошей практикой в других языках программирования. Однако один из первых языков программирования, в котором принудительно обеспечивается соблюдение отступов, является Python. Что же это дает? Прежде всего отступы делают код более удобным для чтения. Кодовые блоки требуют меньше обозначения начала и конца. А это значит, то в коде будет меньше знаков препинания, которые так просто можно пропустить. Это все ведет к уменьшению количества ошибок в коде.

— типы данных высокого уровня. Персональные компьютеры хранят данные в нулях и единицах. Однако люди нуждаются в более сложных формах хранения информации, таких как текст. Если язык поддерживает сложные данные, про него говорят, что он поддерживает типы данных высокого уровня. Оперировать такими типами данных легко. В Python, например, строки можно объединять или разделять, переводить в нижней или верхний регистр, осуществлять поиск и т.п. Типы данных высокого уровня, такие как словари и списка, которые могут хранить в себе другие данные, имеют более широкие функциональные возможности.

— расширяемость. Расширяемость означает, что язык программирования может быть дополнен. Расширяемые языки программирования являются очень мощными. Дополнения делают их пригодными для огромного количества операционных систем и применений. Расширения могут добавлять новые типы данных, плагины и модули. Для расширения в языке Python предусмотрено несколько способов. Главная группа программистов работает над его улучшением и изменением. Сотни других пишут модули для выполнения конкретных целей.

— интерпретация. Выполняются интерпретируемые языки непосредственно из исходного кода, который был написан людьми. Программы, написанные на компилируемых языках, типа C++, должны быть переведены в машинный код. Как правило, интерпретируемые языки программирования работают более медленно, поскольку трансляция осуществляется не мгновенно. Однако отладка и написание самих программ осуществляется заметно быстрее, поскольку нет необходимости ожидать завершения работы компилятора. Интерпретируемые языки программирования легче переносятся на различные платформы. Можно долго спорить, является ли Python компилируемым или интерпретируемым языком. Несмотря на то, что во многих отношениях данный язык программирования работает как интерпретируемый, его код перед выполнением компилируется. Многие его компоненты работают на полной скорости компьютера, поскольку написаны они на С.

Писать язык Python Гвидо начал во время каникул в 1989 году. Весь следующий год он дорабатывал язык, ориентируясь на отзывы коллег. Перед широкой публикой результат предстал в 1991 году. Именно тогда он был размещен в одной из новостных групп Usenet.

Python для новичков

Прежде чем приступать к написанию программ на Python, его необходимо установить. У версий Python 3.5 и Python 2.7 имеются существенные отличия. Из-за них программы, которые на них написаны, несовместимы. Данный язык предустановлен на компьютеры «Макинтош». Его версия будет зависеть от возраста операционной системы. Если вы работаете с Windows, то вам придется самостоятельно устанавливать Python на свой компьютер. Выбрать файлы инсталляционного пакета можно непосредственно на сайте Python.org

Способы взаимодействия

Одна из причин простоты, которая проявляется при программировании на Python, заключается в том, что он поставляется в комплекте с инструментами, которые могут писать, разрабатывать и отлаживать программы. Команды в интерактивном режиме вводятся по одной строке за раз. Этот процесс аналогичен тому, как операционная система воспринимает команды из командной строки. Можно также создавать и короткие многострочные программы или импортировать код из текстовых файлов или модулей Python. Начинающим наверняка будет полезно узнать о том, что интерактивный режим включает в себя обширную справочную систему. Для изучения возможностей языка программирования такой способ является очень удобным. В среду разработки IDLE входят инструменты для написания и запуска программ, система отслеживания имен. Данная среда написана на языке программирования Python. Она демонстрирует обширные возможности данного языка.

Интерактивный режим

В интерактивном режиме можно делать практически все то же самое, что и в программе. Здесь можно даже писать многострочные коды. Этот режим может использоваться в качестве песочницы для безопасных экспериментов. Кроме того, интерактивный режим может выступать в качестве среды, позволяющей изучать программирование на Python. Также он может использоваться как инструмент для поиска и исправления ошибок. Стоит учитывать, что сохранить информацию, которая была введена в интерактивном режиме невозможно. Для этого следует записать копию кода и полученный результат в отдельный файл. Можно использовать интерактивный режим в качестве калькулятора. Здесь также можно манипулировать текстом или присваивать значения переменным. Также имеется возможность импортирования модулей, функций или частей программ для их тестирования. Все это дает возможность экспериментировать с объектами Python без необходимости написания длинных программ. Также нет необходимости и в отладке программ путем импортирования их частей по одной за раз.

Работа в интерактивном режиме

После того, как Python будет запущен, в окне терминала отобразиться информация об используемой версии программы, ее дате выпуска. Также здесь будет приведено несколько подсказок для осуществления дальнейших действий и приглашение ввода: >>>. Чтобы начать работать в интерактивном режиме необходимо ввести выражение и команду и нажать на кнопку ввода. Python после этого должен интерпретировать введенную команду или отреагировать должным образом, если набранное не требует ответа. Приведем команду, которая печатает строку. Так как место печати в команде не указано, вывод информации будет осуществляться на экран.

>>> print «Hello World!»

Трудно поверить, но эта единственная строка является программой. Python в интерактивном режиме обрабатывает каждую строку введенного кода после того, как будет нажата клавиша Enter. Результат появится ниже.

Просмотр информации об объекте

В интерактивном режиме существует два способа, которые могут быть использованы для просмотра информации об объекте:

— ввести имя объекта и нажать на клавишу ввода;

— ввести команду Print, имя объекта и нажать на Enter.

Результат будет зависеть от выбранного вами объекта. При использовании определенных типов данных два этих метода могут дать совершенно одинаковый результат.

>>> x=

>>> print x

Результат набора команды «print имя» будет немного отличаться от результата, который был получен для ввода имени. Значение в первом случае заключается в кавычки, а во втором нет.

>>> x= «MySrting»

В тех случаях, когда имя относится к целому блоку кода, ввод имени даст информацию о виде данных, их имени и месте хранения.

В следующем примере приведена команда создания класса, имеющего имя Message и выводится информация о нем:

>>> class Message:

>>> Message

>>> print Message

Строки в Python

В языке программирования Python строки представляют собой последовательности символов. Создается строковый литерал путем заключения символов в одинарные, двойные или тройные кавычки. Переменной в приведенном примере присваивается значение x.

>>>x= «My String»

У строки Python имеется несколько встроенных возможностей. Одной из таких возможностей является способность вернуть копию строки со строчными буквами. Известны эти возможности как методы. Для того чтобы вызвать метод объекта, необходимо использовать точечный синтаксис. Это означает, что после ввода имени переменной, которая является в данном случае ссылкой на объект строки, необходимо поставить оператор точку – (.). Затем следует название метода с последующим открытием или закрытием скобки.

>>>x.lower ()

При помощи оператора индексирования s[i] можно получить только часть строки. В данном случае индексация будет начинаться с нуля. S возвращает первый символ в строке, s – второй, и так далее.

Строковые методы могут работать как обычными кодами, так и с «Юникодом». Они позволяют выполнять следующие операции:

— изменение кодировки (decode, encode);

— изменение регистра (lower, swapcase, upper, capitalize, title);

— подсчет (count);

— замену и поиск (replace, find, rfind, rindex, index, translate);

— объединение и разделение (partition, join, split, rpartition, splitlines);

— проверка выполнения условий (endswith, startwith, isalnum, isdigit, isalpha, isspace, istitle, isupper);

— форматирование (ljust, center, rstring, strip, expandtabs, rjust).

Python: работа со списками

Если в языке программирования Python строки ограничены символами, то списки не имеют каких-либо ограничений. Списки представляют собой упорядоченные последовательности произвольных объектов, в которые также могут входить и другие списки. Также существует возможность удалять, добавлять или изменять их элементы. Далее приведены примеры выполнения данных операций со списками:

>>> bases = [‘A’, ‘C’, ‘G’, ‘D’]

[‘A’, ‘C’, ‘G’, ‘D’]

>>> bases.append(‘T’)

>>> bases [‘A’, ‘C’, ‘G’, ‘D’, ‘T’]

>>> bases.reverse()

>>> bases [‘T’, ‘D’, ‘G’, ‘C’, ‘A’]

‘T’ >>>

>>> bases.remove(‘T’)

>>> bases [‘D’, ‘G’, ‘C’, ‘A’]

>>> bases.sort()

[‘A’, ‘C’, ‘G’, ‘D’]

В приведенном примере был создан список символов. После этого в один конец списка был добавлен элемент. Затем порядок элементов был обращен. Также элементы извлекались по позиции их индекса. Элемент со значение «T» был удален, после чего была выполнена сортировка элементов. Пример команды по удалению элемента из списка иллюстрирует ситуацию, в которой методу remove () нужно предоставить дополнительную информацию. В данном случае это было то значение, которое требуется удалить. Кроме методов вроде remove (), язык программирования Python также обладает еще одной похожей возможностью, которая называется функцией. Основное отличие между методом и функцией состоит в том, что функция не связана с каким-то конкретным объектом.

Функции в языке программирования Python

В языке программирования Python функции используются для выполнения действий над одним или несколькими значениями. После этого они возвращают результат. В Python имеется большое количество встроенных функций. Рассмотрим некоторые примеры встроенных функций:

— len () – возвращает количество элементов в последовательности;

— list () – возвращает новый список, который инициализирован из какой-либо другой последовательности;

— dir () – возвращает список строк, которые представляют атрибуты объекта.

Также в Python есть возможность определения собственных функций.

(Перевод)

На сайте Poromenos" Stuff была опубликована статья, в которой, в сжатой форме, рассказывают об основах языка Python. Я предлагаю вам перевод этой статьи. Перевод не дословный. Я постарался подробнее объяснить некоторые моменты, которые могут быть непонятны.

Если вы собрались изучать язык Python, но не можете найти подходящего руководства, то эта статья вам очень пригодится! За короткое время, вы сможете познакомиться с основами языка Python. Хотя эта статья часто опирается на то, что вы уже имеете опыт программирования, но, я надеюсь, даже новичкам этот материал будет полезен. Внимательно прочитайте каждый параграф. В связи с сжатостью материала, некоторые темы рассмотрены поверхностно, но содержат весь необходимый метриал.

Основные свойства

Python не требует явного объявления переменных, является регистро-зависим (переменная var не эквивалентна переменной Var или VAR - это три разные переменные) объектно-ориентированным языком.

Синтаксис

Во первых стоит отметить интересную особенность Python. Он не содержит операторных скобок (begin..end в pascal или {..}в Си), вместо этого блоки выделяются отступами : пробелами или табуляцией, а вход в блок из операторов осуществляется двоеточием. Однострочные комментарии начинаются со знака фунта «#», многострочные - начинаются и заканчиваются тремя двойными кавычками «"""».

Чтобы присвоить значение пременной используется знак «=», а для сравнения - «==». Для увеличения значения переменной, или добавления к строке используется оператор «+=», а для уменьшения - «-=». Все эти операции могут взаимодействовать с большинством типов, в том числе со строками. Например

>>> myvar = 3

>>> myvar += 2

>>> myvar -= 1

"""Это многострочный комментарий

Строки заключенные в три двойные кавычки игнорируются"""

>>> mystring = "Hello"

>>> mystring += " world."

>>> print mystring

Hello world.

# Следующая строка меняет

Значения переменных местами. (Всего одна строка!)

>>> myvar, mystring = mystring, myvar

Структуры данных

Python содержит такие структуры данных как списки (lists), кортежи (tuples) и словари (dictionaries ). Списки - похожи на одномерные массивы (но вы можете использовать Список включающий списки - многомерный массив), кортежи - неизменяемые списки, словари - тоже списки, но индексы могут быть любого типа, а не только числовыми. "Массивы" в Python могут содержать данные любого типа, то есть в одном массиве может могут находиться числовые, строковые и другие типы данных. Массивы начинаются с индекса 0, а последний элемент можно получить по индексу -1 Вы можете присваивать переменным функции и использовать их соответственно.

>>> sample = , ("a", "tuple")] #Список состоит из целого числа, другого списка и кортежа

>>> mylist = ["List item 1", 2, 3.14] #Этот список содержит строку, целое и дробное число

>>> mylist = "List item 1 again" #Изменяем первый (нулевой) элемент листа mylist

>>> mylist[-1] = 3.14 #Изменяем последний элемент листа

>>> mydict = {"Key 1": "Value 1", 2: 3, "pi": 3.14} #Создаем словарь, с числовыми и целочисленным индексами

>>> mydict["pi"] = 3.15 #Изменяем элемент словаря под индексом "pi".

>>> mytuple = (1, 2, 3) #Задаем кортеж

>>> myfunction = len #Python позволяет таким образом объявлять синонимы функции

>>> print myfunction(mylist)

Вы можете использовать часть массива, задавая первый и последний индекс через двоеточие «:». В таком случае вы получите часть массива, от первого индекса до второго не включительно. Если не указан первый элемент, то отсчет начинается с начала массива, а если не указан последний - то масив считывается до последнего элемента. Отрицательные значения определяют положение элемента с конца. Например:

>>> mylist = ["List item 1", 2, 3.14]

>>> print mylist[:] #Считываются все элементы массива

["List item 1", 2, 3.1400000000000001]

>>> print mylist #Считываются нулевой и первый элемент массива.

["List item 1", 2]

>>> print mylist[-3:-1] #Считываются элементы от нулевого (-3) до второго (-1) (не включительно)

["List item 1", 2]

>>> print mylist #Считываются элементы от первого, до последнего

Строки

Строки в Python обособляются кавычками двойными «"» или одинарными «"» . Внутри двойных ковычек могут присутствовать одинарные или наоборот. К примеру строка «Он сказал "привет"!» будет выведена на экран как «Он сказал "привет"!». Если нужно использовать строку из несколько строчек, то эту строку надо начинать и заканчивать тремя двойными кавычками «"""». Вы можете подставить в шаблон строки элементы из кортежа или словаря. Знак процента «%» между строкой и кортежем, заменяет в строке символы «%s» на элемент кортежа. Словари позволяют вставлять в строку элемент под заданным индексом. Для этого надо использовать в строке конструкцию «%(индекс)s». В этом случае вместо «%(индекс)s» будет подставлено значение словаря под заданным индексом.

>>>print "Name: %s\nNumber: %s\nString: %s" % (myclass.name, 3, 3 * "-")

Name: Poromenos

Number: 3

String: ---

strString = """Этот текст расположен

на нескольких строках"""

>>> print "This %(verb)s a %(noun)s." % {"noun": "test", "verb": "is"}

This is a test.

Операторы

Операторы while, if , for составляют операторы перемещения. Здесь нет аналога оператора select, так что придется обходиться if . В операторе for происходит сравнение переменной и списка . Чтобы получить список цифр до числа - используйте функцию range(). Вот пример использования операторов

rangelist = range(10) #Получаем список из десяти цифр (от 0 до 9)

>>> print rangelist

for number in rangelist: #Пока переменная number (которая каждый раз увеличивается на единицу) входит в список...

# Проверяем входит ли переменная

# numbers в кортеж чисел (3, 4, 7, 9)

If number in (3, 4, 7, 9): #Если переменная number входит в кортеж (3, 4, 7, 9)...

# Операция «break» обеспечивает

# выход из цикла в любой момент

Break

Else:

# «continue» осуществляет "прокрутку"

# цикла. Здесь это не требуется, так как после этой операции

# в любом случае программа переходит опять к обработке цикла

Continue

else:

# «else» указывать необязательно. Условие выполняется

# если цикл не был прерван при помощи «break».

Pass # Ничего не делать

if rangelist == 2:

Print "The second item (lists are 0-based) is 2"

elif rangelist == 3:

Print "The second item (lists are 0-based) is 3"

else:

Print "Dunno"

while rangelist == 1:

Pass

Функции

Для объявления функции служит ключевое слово «def» . Аргументы функции задаются в скобках после названия функции. Можно задавать необязательные аргументы, присваивая им значение по умолчанию. Функции могут возвращать кортежи, в таком случае надо писать возвращаемые значения через запятую. Ключевое слово «lambda » служит для объявления элементарных функций.

# arg2 и arg3 - необязательые аргументы, принимают значение объявленное по умолчни,

# если не задать им другое значение при вызове функци.

def myfunction(arg1, arg2 = 100, arg3 = "test"):

Return arg3, arg2, arg1

#Функция вызывается со значением первого аргумента - "Argument 1", второго - по умолчанию, и третьего - "Named argument".

>>>ret1, ret2, ret3 = myfunction("Argument 1", arg3 = "Named argument")

# ret1, ret2 и ret3 принимают значения "Named argument", 100, "Argument 1" соответственно

>>> print ret1, ret2, ret3

Named argument 100 Argument 1

# Следующая запись эквивалентна def f(x): return x + 1

functionvar = lambda x: x + 1

>>> print functionvar(1)

Классы

Язык Python ограничен в множественном наследовании в классах. Внутренние переменные и внутренние методы классов начинаются с двух знаков нижнего подчеркивания «__» (например «__myprivatevar»). Мы можем также присвоить значение переменной класса извне. Пример:

class Myclass:

Common = 10

Def __init__(self):

Self.myvariable = 3

Def myfunction(self, arg1, arg2):

Return self.myvariable

# Здесь мы объявили класс Myclass. Функция __init__ вызывается автоматически при инициализации классов.

>>> classinstance = Myclass() # Мы инициализировали класс и переменная myvariable приобрела значение 3 как заявлено в методе инициализации

>>> classinstance.myfunction(1, 2) #Метод myfunction класса Myclass возвращает значение переменной myvariable

# Переменная common объявлена во всех классах

>>> classinstance2 = Myclass()

>>> classinstance.common

>>> classinstance2.common

# Поэтому, если мы изменим ее значение в классе Myclass изменятся

# и ее значения в объектах, инициализированных классом Myclass

>>> Myclass.common = 30

>>> classinstance.common

>>> classinstance2.common

# А здесь мы не изменяем переменную класса. Вместо этого

# мы объявляем оную в объекте и присваиваем ей новое значение

>>> classinstance.common = 10

>>> classinstance.common

>>> classinstance2.common

>>> Myclass.common = 50

# Теперь изменение переменной класса не коснется

# переменных объектов этого класса

>>> classinstance.common

>>> classinstance2.common

# Следующий класс является наследником класса Myclass

# наследуя его свойства и методы, ктому же класс может

# наследоваться из нескольких классов, в этом случае запись

# такая: class Otherclass(Myclass1, Myclass2, MyclassN)

class Otherclass(Myclass):

Def __init__(self, arg1):

Self.myvariable = 3

Print arg1

>>> classinstance = Otherclass("hello")

hello

>>> classinstance.myfunction(1, 2)

# Этот класс не имеет совйтсва test, но мы можем

# объявить такую переменную для объекта. Причем

# tэта переменная будет членом только classinstance.

>>> classinstance.test = 10

>>> classinstance.test

Исключения

Исключения в Python имеют структуру try -except :

def somefunction():

Try:

# Деление на ноль вызывает ошибку

10 / 0

Except ZeroDivisionError:

# Но программа не "Выполняет недопустимую операцию"

# А обрабатывает блок исключения соответствующий ошибке «ZeroDivisionError»

Print "Oops, invalid."

>>> fnexcept()

Oops, invalid.

Импорт

Внешние библиотеки можно подключить процедурой «import », где - название подключаемой библиотеки. Вы так же можете использовать команду «from import », чтобы вы могли использовать функцию из библиотеки :

import random #Импортируем библиотеку «random»

from time import clock #И заодно функцию «clock» из библиотеки «time»

randomint = random.randint(1, 100)

>>> print randomint

Работа с файловой системой

Python имеет много встроенных библиотек. В этом примере мы попробуем сохранить в бинарном файле структуру списка, прочитать ее и сохраним строку в текстовом файле. Для преобразования структуры данных мы будем использовать стандартную библиотеку «pickle»:

import pickle

mylist = ["This", "is", 4, 13327]

# Откроем файл C:\binary.dat для записи. Символ «r»

# предотвращает замену специальных сиволов (таких как \n, \t, \b и др.).

myfile = file(r"C:\binary.dat", "w")

pickle.dump(mylist, myfile)

myfile.close()

myfile = file(r"C:\text.txt", "w")

myfile.write("This is a sample string")

myfile.close()

myfile = file(r"C:\text.txt")

>>> print myfile.read()

"This is a sample string"

myfile.close()

# Открываем файл для чтения

myfile = file(r"C:\binary.dat")

loadedlist = pickle.load(myfile)

myfile.close()

>>> print loadedlist

["This", "is", 4, 13327]

Особенности

  • Условия могут комбинироваться. 1 < a < 3 выполняется тогда, когда а больше 1, но меньше 3.
  • Используйте операцию «del » чтобы очищать переменные или элементы массива .
  • Python предлагает большие возможности для работы со списками . Вы можете использовать операторы объявлении структуры списка. Оператор for позволяет задавать элементы списка в определенной последовательности, а if - позволяет выбирать элементы по условию.

>>> lst1 =

>>> lst2 =

>>> print

>>> print

# Оператор «any» возвращает true, если хотя

# бы одно из условий, входящих в него, выполняется.

>>> any(i % 3 for i in )

True

# Следующая процедура подсчитывает количество

# подходящих элементов в списке

>>> sum(1 for i in if i == 3)

>>> del lst1

>>> print lst1

>>> del lst1

  • Глобальные переменные объявляются вне функций и могут быть прочитанны без каких либо объявлений. Но если вам необходимо изменить значение глобальной переменной из функции, то вам необходимо объявить ее в начале функции ключевым словом «global », если вы этого не сделаете, то Python объявит переменную, доступную только для этой функции.

number = 5

def myfunc():

# Выводит 5

Print number

def anotherfunc():

# Это вызывает исключение, поскольку глобальная апеременная

# не была вызванна из функции. Python в этом случае создает

# одноименную переменную внутри этой функции и доступную

# только для операторов этой функции.

Print number

Number = 3

def yetanotherfunc():

Global number

# И только из этой функции значение переменной изменяется.

Number = 3

Эпилог

Разумеется в этой статье не описываются все возможности Python. Я надеюсь что эта статья поможет вам, если вы захотите и в дальнейшем изучать этот язык программирования.

Преимущества Python

  • Скорость выполнения программ написанных на Python очень высока. Это связанно с тем, что основные библиотеки Python
    написаны на C++ и выполнение задач занимает меньше времени, чем на других языках высокого уровня.
  • В связи с этим вы можете писать свои собственные модули для Python на C или C++
  • В стандартныx библиотеках Python вы можете найти средства для работы с электронной почтой, протоколами
    Интернета, FTP, HTTP, базами данных, и пр.
  • Скрипты, написанные при помощи Python выполняются на большинстве современных ОС. Такая переносимость обеспечивает Python применение в самых различных областях.
  • Python подходит для любых решений в области программирования, будь то офисные программы, вэб-приложения, GUI-приложения и т.д.
  • Над разработкой Python трудились тысячи энтузиастов со всего мира. Поддержкой современных технологий в стандартных библиотеках мы можем быть обязаны именно тому, что Python был открыт для всех желающих.

Синтаксис языка Python, как и сам язык, очень прост.

Синтаксис

    Конец строки является концом инструкции (точка с запятой не требуется).

    Вложенные инструкции объединяются в блоки по величине отступов. Отступ может быть любым, главное, чтобы в пределах одного вложенного блока отступ был одинаков. И про читаемость кода не забывайте. Отступ в 1 пробел, к примеру, не лучшее решение. Используйте 4 пробела (или знак табуляции, на худой конец).

    Вложенные инструкции в Python записываются в соответствии с одним и тем же шаблоном, когда основная инструкция завершается двоеточием, вслед за которым располагается вложенный блок кода, обычно с отступом под строкой основной инструкции.

    Основная инструкция : Вложенный блок инструкций

Несколько специальных случаев

  • Иногда возможно записать несколько инструкций в одной строке, разделяя их точкой с запятой:

    a = 1 ; b = 2 ; print (a , b )

    Но не делайте это слишком часто! Помните об удобочитаемости. А лучше вообще так не делайте.

    Допустимо записывать одну инструкцию в нескольких строках. Достаточно ее заключить в пару круглых, квадратных или фигурных скобок:

    if (a == 1 and b == 2 and c == 3 and d == 4 ): # Не забываем про двоеточие print ("spam" * 3 )
  • Тело составной инструкции может располагаться в той же строке, что и тело основной, если тело составной инструкции не содержит составных инструкций. Ну я думаю, вы поняли:). Давайте лучше пример приведу.

О Python (лучше произносить "питон", хотя некоторые говорят "пайтон") - предмете данного изучения, лучше всего говорит создатель этого языка программирования, голландец Гвидо ван Россум:

"Python - интерпретируемый, объектно-ориентированный высокоуровневый язык программирования с динамической семантикой. Встроенные высокоуровневые структуры данных в сочетании с динамической типизацией и связыванием делают язык привлекательным для быстрой разработки приложений ( RAD , Rapid Application Development ). Кроме того, его можно использовать в качестве сценарного языка для связи программных компонентов. Синтаксис Python прост в изучении, в нем придается особое значение читаемости кода, а это сокращает затраты на сопровождение программных продуктов. Python поддерживает модули и пакеты, поощряя модульность и повторное использование кода. Интерпретатор Python и большая стандартная библиотека доступны бесплатно в виде исходных и исполняемых кодов для всех основных платформ и могут свободно распространяться."

В процессе изучения будет раскрыт смысл этого определения, а сейчас достаточно знать, что Python - это универсальный язык программирования. Он имеет свои преимущества и недостатки, а также сферы применения. В поставку Python входит обширная стандартная библиотека для решения широкого круга задач. В Интернете доступны качественные библиотеки для Python по различным предметным областям: средства обработки текстов и технологии Интернет, обработка изображений, инструменты для создания приложений, механизмы доступа к базам данных, пакеты для научных вычислений, библиотеки построения графического интерфейса и т.п. Кроме того, Python имеет достаточно простые средства для интеграции с языками C, C++ (и Java) как путем встраивания (embedding) интерпретатора в программы на этих языках, так и наоборот, посредством использования библиотек, написанных на этих языках, в Python-программах. Язык Python поддерживает несколько парадигм программирования: императивное (процедурный, структурный, модульный подходы), объектно-ориентированное и функциональное программирование.

Можно считать, что Python - это целая технология для создания программных продуктов (и их прототипов). Она доступна почти на всех современных платформах (как 32-битных, так и на 64-битных) с компилятором C и на платформе Java.

Может показаться, что, в программной индустрии нет места для чего-то другого кроме C/C++, Java, Visual Basic, C#. Однако это не так. Возможно, благодаря данному курсу лекций и практических занятий у Python появятся новые приверженцы, для которых он станет незаменимым инструментом.

Как описать язык?

В этой лекции не ставится цели систематически описать Python: для этого существует оригинальное справочное руководство. Здесь предлагается рассмотреть язык одновременно в нескольких аспектах, что достигается набором примеров, которые позволят быстрее приобщиться к реальному программированию, чем в случае строгого академического подхода.

Однако стоит обратить внимание на правильный подход к описанию языка. Создание программы - это всегда коммуникация, в которой программист передает компьютеру информацию, необходимую для выполнения последним действий. То, как эти действия понимает программист (то есть "смысл"), можно назвать семантикой . Средством передачи этого смысла является синтаксис языка программирования. Ну а то, что делает интерпретатор на основании переданного, обычно называют прагматикой . При написании программы очень важно, чтобы в этой цепочке не возникало сбоев.

Синтаксис - полностью формализованная часть: его можно описать на формальном языке синтаксических диаграмм (что и делается в справочных руководствах). Выражением прагматики является сам интерпретатор языка. Именно он читает записанное в соответствии с синтаксисом "послание" и превращает его в действия по заложенному в нем алгоритму. Неформальным компонентом остается только семантика. Именно в переводе смысла в формальное описание и кроется самая большая сложность программирования. Синтаксис языка Python обладает мощными средствами, которые помогают приблизить понимание проблемы программистом к ее "пониманию" интерпретатором. О внутреннем устройстве Python будет говориться в одной из завершающих лекций.

История языка Python

Создание Python было начато Гвидо ван Россумом (Guido van Rossum) в 1991 году, когда он работал над распределенной ОС Амеба. Ему требовался расширяемый язык, который бы обеспечил поддержку системных вызовов. За основу были взяты ABC и Модула-3. В качестве названия он выбрал Python в честь комедийных серий BBC "Летающий цирк Монти-Пайтона", а вовсе не по названию змеи. С тех пор Python развивался при поддержке тех организаций, в которых Гвидо работал. Особенно активно язык совершенствуется в настоящее время, когда над ним работает не только команда создателей, но и целое сообщество программистов со всего мира. И все-таки последнее слово о направлении развития языка остается за Гвидо ван Россумом.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows