Основы синтаксиса Python. §1 Язык программирования Python

Интерпретируемые ЯП не компилируются в машинный код: инструкции просто исполняются по ходу программы.

Преимущества интерпретируемых ЯП перед компилируемыми:

  • Кроссплатформенность (Вам не нужно компилировать программу под всё. Написанный однажды код будет работать на всём).
  • Динамическая типизация (переменные сами определяют нужный тип).
  • Рефлексия и интроспекция (способность программы к самомодификации).
  • И многое другое, что в данной статье будет излишним.

Ну и недостатки:

  • Меньшая производительность(иногда значительно ).
  • Нужда в программе — интерпретаторе.

Ну и плюсы самого Python 3:

  • Простой и красивый синтаксис.
  • Большое количества встроенных и доступных функций.
  • Благодаря популярности, большое количество доступной информации.

Ну вот мы кратко узнали о том, что за Python и о его отличительных особенностях.

Синтаксис

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

Так вот, синтаксис Python крайне прост и умещается в небольшой абзац:

  • Конец строки — конец инструкции.
  • Вложенные инструкции отделяются от основных отступами т.е. разным их количеством.
  • Вложенные инструкции всегда пишутся после основной отделяясь от неё двоеточием.

Ниже приведён пример всего вышесказанного:

print("Hi, i am Python!") # вывод строки Hi, i am Python! if 3.14 < 1592: # условный оператор (будет рассмотрен в след. уроках) print("good") # и опять выводим сообщение print("work") # и еще

Ну и пара частных случаев:

  • Можно писать несколько инструкций в одной строке. Однако это понижает удобочитаемость:

    x = 1.14; y = 2.0014; print(x + y)

    x = 1.14 ; y = 2.0014 ; print (x + y )

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

    if (5 > 1 and 1 < 2 and 8 == 8 and "good" != "bad"): print("it is true")

Ну, а теперь напишем нашу первую программу!

Первая программа:

Что бы написать программу в Python IDLE нужно:

  1. Открыть Python IDLE.
  2. Выбрать File -> New File .
  3. Написать программу (код ниже).
  4. Сохранить Ctrl + s .
  5. Нажать F5 для запуска.

Для начала мы напишем и запустим код написанный ниже, а потом проанализируем его:

s = input("What is your name?") print("Hi, ", s,"! Welcome to the world of discovering! Welcome to Python!")

В данной строке переменной s присваивается значение функции input() с параметром "What is your name?\n" . Если вы не всё поняли то не волнуйтесь, в следующих статьях всё будет подробно рассказано.

Пока лишь важно понимать, что функция input() получает строку введённую с клавиатуры, т.е. является оператором ввода, а s получает значение input() . Видим, что инструкция рассполжена в одной строке по правилам языка Python. Кстати символ "\n" является специальным и обозначает переход на новую строку.

print("Hi, ", s,"! Welcome to the world of discovering! Welcome to Python!")

print ("Hi, " , s , "! Welcome to the world of discovering! Welcome to Python!" )

В данной же строке мы имеем лишь функцию print() , которая является оператором вывода в Python. Как мы можем заметить функция имеет много различных параметров, которые надо вывести (указываются они через запятую).

Давайте посмотрим на типичную работу программы.

Язык программирования 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 есть возможность определения собственных функций.

В которой, в сжатой форме,
рассказывают об основах языка 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 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(list )
3

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


>>> 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 )
2

Классы

Язык 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 как заявлено в методе инициализации
>>> #Метод myfunction класса Myclass возвращает значение переменной myvariable
3
# Переменная common объявлена во всех классах
>>> classinstance2 = Myclass ()
>>> classinstance.common
10
>>> classinstance2.common
10
# Поэтому, если мы изменим ее значение в классе Myclass изменятся
# и ее значения в объектах, инициализированных классом Myclass
>>> Myclass.common = 30
>>> classinstance.common
30
>>> classinstance2.common
30
# А здесь мы не изменяем переменную класса. Вместо этого
# мы объявляем оную в объекте и присваиваем ей новое значение
>>> classinstance.common = 10
>>> classinstance.common
10
>>> classinstance2.common
30
>>> Myclass.common = 50
# Теперь изменение переменной класса не коснется
# переменных объектов этого класса
>>> classinstance.common
10
>>> classinstance2.common
50

# Следующий класс является наследником класса 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 )
3
# Этот класс не имеет совйтсва test, но мы можем
# объявить такую переменную для объекта. Причем
# tэта переменная будет членом только class instance.
>>> classinstance.test = 10
>>> classinstance.test
10

Исключения

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


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
64

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

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 )
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? Ведь нередко можно услышать, что этот язык умирает. Этот вопрос обсудили пользователи сайта Quora и поделились своим мнением.

Билл Карвн, SQL-разработчик, консультант, тренер и автор

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

Это правда, что языки как набирают популярность, так и теряют ее. Продуктивность – вот главная задача в программировании, поэтому время от времени создаются новые языки, которые увеличивают производительность, по крайней мере, для некоторых видов работ.

Большая часть программистов сегодня использует языки более высокого уровня – им необходимо быть боле производительными. Языки высшего уровня могут компилироваться в машинный код (C или C++), а могут быть скомпилированы в байткод с независимой архитектурой и запущены в виртуальной машине (Java) ил же быть обработаны (JavaScript, PHP, Ruby, Python, Perl и др.).

Ошибочное мнение, что необходимо учить язык ассемблера, потому что «он лучше Python». Это глупая точка зрения, построенная на устаревших данных.

Билл Поучер, исполнительный директор ICPC, программное обеспечение в сферах энергетики, синтетической генетики и др.

Изучи Python. Обеспечь себя опытом в программировании. В этом языке есть своя элегантность.

Изучи C как язык для Unix-машин. Понимание UNIX относительно несложно.

Изучи MIX, чтобы понимать Knuth.

Изучи Java, чтобы не испытывать трудности в работе с другими, а также овладеть объектно-ориентированным программированием.

Изучи C++, чтобы программировать в любом стиле, каком только захочешь. Его сила в том, что это основной язык программирования. Его слабость в том, что для программирования на нем необходимо понимать его стиль.

Изучи LISP, чтобы укрепить свое понимание рекурсии.

Разве я сказал, что не стоит учить хотя бы что-то? Нет. Потому что единственная вещь, которую следует сделать, это приучить себя к постоянному изучению чего-либо, особенно к изучению того, как можно решать возникающие проблемы.

Шива Шинде, на языке Python легко кодить, но его тяжело читать

Язык программирования Python не умирает, это один из наиболее быстро развивающихся языков.

  1. Его легко изучить
  • На данный момент 8 из 10 лучших американских программ для вычислительной техники используют этот язык (Philip Guo, CACM)
  • Программы на языке Python, как правило, имеют минимум шаблонов, которые обычно встречаются в других языках программирования. Поэтому вы можете чаще использовать нешаблонные решения задач.
  • Если у вас есть опыт программирования, пусть и не этом языке, то вы достаточно быстро овладеете Python.

2. Полный функционал

  • Это не только язык для статистических данных. У Python есть все возможности для сбора и очистки данных, для работы с базами данных и высокопроизводительными вычислениями, а также многим другим.
  • Этот общепринятый язык программирования с огромным количеством встроенных библиотек . Он хорош для управления данными и базами данных, а также для работы с сетевым программированием. Это продуманный язык с огромным количеством доступных ресурсов.

3. Серьезные библиотеки научных данных

  • Python обладает значительными научными библиотеками с огромным количеством данных для использования.
  • Основой этих научных библиотек является SciPy Ecosystem, которая даже проводит свои собственные конференции.
  • Pandas и Matplotlib - это составляющие SciPy. Они обеспечивают превосходные данные по самым разным темам, например, машинное обучение, интеллектуальный анализ текста и сетевой анализ.

Эрнан Сулаж, прагматичный программист

Этот язык достаточно популярен, его значимость растет в академических кругах. Правдив также тот факт, что полезность языка программирования зависит от того, что ты на нем хочешь делать.

Мне совершенно не нравится PHP, но я не настолько глуп, чтобы отрицать его универсальность и мощность, а также то, что этим языком достаточно просто овладеть.
Что касается изучения ассемблера, то этот язык напрямую зависит от того, с каким процессором вы работаете.

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

Магнус Лычка, разработчик программного обеспечения и консультант в Гетеборге

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

Многие стартапы становились успешными с языком Python, после чего им приходилось переписывать некоторые программы в Java, C++ или C. А если бы эти стартапы начинали работать с языком ассемблера, то, скорее всего, у них бы финансирование закончилось задолго до того, как их очень быстрый, но сложный для чтения код был бы закончен.

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

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

Немного истории

Язык программирования Python начал разрабатываться Гвидо ван Россумом в конце восьмидесятых. Гвидо в то время был сотрудником голландского института CWI. Он писал этот язык на досуге, вложив туда некоторые идеи по языку ABC, в работе над которым он участвовал.

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

Не только дизайнерская интуиция ван Россума считается причиной того, почему так популярен язык программирования Python. Обучение с нуля становится приятным и легким занятием, если учесть наличие дружного сообщества пользователей.

Не так давно, в 2008 году, вышла первая, до этого долго тестировавшаяся версия Python 3000 (3.0), где было устранено множество недостатков архитектуры. При этом разработчики постарались сохранить совместимость с предыдущими версиями языка. Несмотря на наличие более свежей версии, обе ветки (2.х и 3.х) поддерживаются.

Лаконичный язык программирования

Python имеет ряд преимуществ перед другими языками. Он понятен практически интуитивно, имеет "прозрачный" синтаксис. Это значит, что программный код на этом языке читается гораздо легче, что сокращает время не только на его написание, но и на различные доработки и проверки.

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

Неуверенность в себе

Стоит отбросить заблуждение о том, что программирование - это сложно. Нет, программирование гораздо интереснее, чем кажется; помешать могут другие занятия и так называемая "нехватка времени" или лень.

Базовая литература поможет быстро изучить программирование на языке Python. Учебный курс следует начать с чтения двух книг, из которых можно почерпнуть основы. Первая из них - это "Программирование на Python" Марка Лутца, а вторая - "Программирование на Python 3" Марка Саммерфилда. Книга Лутца подробно, порой даже слишком, описывает все базовые принципы, на которых строится язык. Некоторые советуют читать Марка Лутца не для освоения, а для углубления базовых знаний. Книга Саммерфилда объясняет все более лаконично, автор не пугает читателя никакими сложностями. Есть и другая литература, однако эти учебники наиболее полезны и информативны.

Вводный курс

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

Полезным подспорьем будут лекции CS50. Это курс Гарвардского университета, посвященный программированию на Java Script, однако в первых лекциях доступно и понятно объясняется взаимодействие компьютера и программ в целом. Русскоязычному пользователю доступны видеозаписи этого курса с переводом, дополнительными материалами, текстовыми вариантами лекций и практическими заданиями. Видео можно найти практически где угодно, например, на YouTube, а вот все материалы целиком - на сайте Java Script.

В интернете

Язык программирования Python набирает популярность, поэтому уже давно существует несколько порталов, на которых множество материалов для самообучения. Например, «Python 3 для начинающих». На этом сайте много материалов для новичков, его можно использовать как шпаргалку. Также большой объем информации по данной теме с бесплатным доступом на сайте Codecademy.

Немаловажным является общение на форумах. Обучение в одиночку всегда дается тяжелее, поэтому не пренебрегайте различными сообществами.

Платные курсы

Всегда можно воспользоваться и платными курсами, но стоит это порой немалых денег, а результат может быть неудовлетворительным. Поэтому, конечно, желательно выбирать курсы, которые предлагают бесплатное ознакомительное задание. Например, интенсив по теме "Основы программирования на языке Python" есть на GeekBrains. Занятие бесплатное, проводится каждые десять дней. Чтобы записаться, необходимо авторизоваться на сайте.

Совет: какие бы курсы вы ни выбрали, сначала ознакомьтесь с азами языка, чтобы не тратить время на то, что вы легко можете усвоить сами. Достаточно будет прочитать указанные выше книги.

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

Использование

Язык программирования Python был использован для создания множества приложений, которыми многие люди пользуются ежедневно. Например, это шестая версия торрент-клиента BitTorrent. Также «Питон» («Пайтон») используется в растровом графическом редакторе Gimp. С помощью него создаются дополнительные модули, фильтры, к примеру. На этом языке написана значительная часть игры Civilization IV и Batterfield 2.

«Питон» используют такие компании, как «Гугл», «Фейсбук», «Инстаграм», «Дропбокс», «Пинтерест». Он также работает в ядре приложения «Яндекс-диск». Около 10% сотрудников компании пишут именно на «Питоне», а многие программисты называют его своим любимым языком.

Как начать работу

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

Обратите внимание, что необходимо скачивать файл, подходящий под установленную на компьютере операционную систему!

Если установка прошла успешно, откройте консоль (как правило, это можно сделать сочетанием клавиш «ctrl+alt+T»). Теперь можете написать свою первую программу. Например, введите "python3". Если консоль вывела "приветствие", где указана версия программы (например, 3.4.0), то все в порядке, если нет, то нужно установить третью версию «Питона» командой: «sudo apt-get install python3».
Однако это не обязательно. Можно писать код в любом удобном текстовом редакторе, после чего запускать через консоль, а можно пользоваться средой разработки IDLE, идущей в комплекте с дистрибутивом.

Запустите IDLE. Чтобы создать крошечную программу, достаточно написать всего одну строку кода.

print("Hello world!")

Введите этот код в окно IDLE и нажмите «Ввод». Среда мгновенно отзовется действием - выведет на экране требуемый текст. Первая программа готова.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: