Язык программирования Python за 10 минут
Этот материал расчитан на тех, кто уже знаком с программированием и хочет освоить язык программирования Python. Он расчитан на то, чтобы за 10 минут показать вам особенности языка Python, особенности синтаксиса и основные принципы работы с Python на примерах. Здесь нет никакой «воды» — информации, которая не имеет непосредственного отношения к языку программирования. Начнем!
Особенности Python
Язык программирования Python отличается сильной типизацией (Сильная типизация выделяется тем, что язык не позволяет смешивать в выражениях различные типы и не выполняет автоматические неявные преобразования, например нельзя вычесть из строки множество), используется динамическая типизация — все типы выясняются уже во время выполнения программы.
Объявление переменных необязательно, названия восприимчивы к регистру (var и VAR — две разные переменные).
Язык Python объектно-ориентирован, все в языке является объектом.
Получение справки
Справка (помощь) в Python всегда доступна прямо в интерпретаторе. Если вы хотите знать, как объект работает, вызовите help(<object>). Также полезной инструкцией является dir() , которая показывает все методы объекта, и свойство объектов <object>.__doc__ , которая покажет вам строку документации:
Синтаксис языка Python
В Python нет конструкций для завершения блоков (таких как описание класса или функции, например) — блоки определяются с использованием отступов. Увеоичение отступа в начале блока, уменьшение — в конце блока. Инстукции, которые предполагают наличие отступов, завершаются символом двоеточия (:). Если после инструкции начала блока у вас пока нет кода, вставьте оператор pass для прохождения синтаксической проверки.
Однострочные комментарии начинаются с символа решетки (#), многострочные используют ( """ ) в начале и в конце комментария.
Значения присваиваются с использованием знака равенства («=») (по факту объектам присваиваются имена в процессе).
Проверка на различие выполняется с двумя символами равенства («==»).
Можно увеличить значение с помощью оператора += и уменьшить с -=, указав в левой части переменную, а в правой — значение, на которую произойдет увеличение/уменьшение. Это работает со многими типами данных в Python, включая строки.
Можно присвоить значение неспольким переменным в одной строке. Примеры:
Типы данных в Python
В Python доступны такие типы данных, как списки (lists), кортежи (tuples) и словари (dictionaries). Также доступны множества — с использованием модуля sets в версиях до Python 2.5 и встроены в язык в более поздних.
Списки похожи на одномерные массивы. При этом можно иметь список, состоящий из других списков.
Словари — это ассоциативные массивы, в которых доступ к данным осуществляется по ключу.
Кортежи — это неизменяемые одномерные массивы.
«Массивы» в Python могут быть любого типа, то есть вы можете совмещать числа, строки и другие типы данных в списках/словарях/кортежах.
Индекс первого элемента — 0. Негативное значение индекса начинает отсчет от последнего к первому, [-1] укажет на последний элемент.
Переменные могут указывать на функции.
Вы можете получить срез массива (списка или кортежа) через использование двоеточия (:). Оставляя пустым начальное значение индекса, вы укажете начинать с первого значения, пустое значение конца индекса предполагает последний элемент массива. Негативные индексы считаются с конца массива назад ( -1 — укажет на последний элемент ).
Строки в Python
Для обозначения строки может использоваться апостроф (‘) или двойные кавычки (double quote — «). Благодаря этому вы можете иметь кавычки внутри строки, обозначенной с помощью апострофов (например ‘He said «hello».’ — правильная строка).
Многострочные строки обозначаются с использованием тройного апострофа или кавычек ( """ ). Python поддерживает юникод из коробки. При этом во второй версии Python для обозначения строки, содержажей unicode, используется символ (u): u»This is a unicode string». В Python3 все строки содержат юникод. Если в Python3 вам нужна последовательность байтов, которой была по сути строка в предыдущих версиях, используется символ (b): b»This is a byte string».
Для подстановки значений параметров в строку используется оператор (%) и кортеж. Каждый %s заменяется на элемент из кортежа, слева направо. Также вы можете использовать словарь для подстановки именованнх параметров:
Инструкции для контроля потока — if, for, while
Для контроля порядка выполнения программы используются инстукции if , for и while . В Python нет switch или case , вместо них используется if . For используется для прохождения по элементам списка (или кортежа). Для получения последовательности чисел, используйте range(<number>) . Для прерывания выполнение цикла используется break .
Синтаксис этой конструкции следующий:
Функции в Python
Функции объявляются с использованием ключевого слова «def». Необязательные аргументы следуют в объявлении функции после обязательных и им назначается значение по-умолчанию. При вызове функции, можно передавать аргументы через указание их имени и значения, при этом пропуская часть необязательных аргументов или располагая их в порядке, отличном от объявленном в функции.
Функции могут возвращать кортеж и используя распаковку кортежа вы можете возвращать несколько значений.
Лямбда-функции (lambda functions) — специальные фукции, обрабатывающие один аргумент.
Параметры передаются через ссылку. Добавляя элементы к переданному списку вы получите обновленный список вне функции. При этом присваивание нового значения параметрам внутри функции останется локальным действием. Поскольку при передаче передается только расположение в памяти, назначение нового объекта параметру как переменной вызовет создание нового объекта.
Классы Python
Python поддерживает ограниченную форму множественного наследования в классах.
Частные переменные и методы могут быть объявлены ( по соглашению, это не проверяется интерпретатором) с использованием двух символов подчеркивания вначале и не более одного в конце имени (напрмер: «__spam»).
Мы также можем назначать произвольные имена экземплярам класса. Просмотрите примеры:
Исключения в Python
Исключения в Python обрабатываются в блоках try-except [exceptionname]:
Импорт модулей в Python
Внешние библиотеки используются после импорта с использованием ключевого слова import [libname] . Вы также можете использовать from [libname] import [funcname] для импорта индивидуальных функций.
Работа с файлами в Python
Python обладает большим количеством библиотек для работы с файлами. Например, сериализация (конвертирование данных в строки с библиотекой pickle ):
Разное
- Условия могут склеиваться, например 1 < a < 3 проверит, что a одновременно меньше 3 и больше 1.
- Вы можете использовать del для удаления переменных или элементов в массивах.
- Списки дают очень сильные возможности для манипуляции данными. Вы можете составить выражение с использованием for и последующими инструкциями if или for :
- Глобальные переменные объявляются вне функций и могут читаться без специальных объявлений внутри, но если вы хотите записывать их, вы должны объявить из в начале функции с использованием специального ключевого слова «global», иначе Python назначит новое значение локальной переменной:
Как выучить язык программирования Python
Этот материал не претендует на исчерповающее руководство по Python. Язык программирования Python обладает огромным числом библиотек и различной функциональностью, с которыми вы познакомитесь, продолжив работать с языком и изучая дополнительные источники.
Если вам недостаточно изложенной информации — просмотрите расширенный материал с описанием языка программирования Python — http://itman.in/python-howto/ — в нем сведения о языке изложены более подробно.
Большая благодарность Stavros Korokithakis за его отличный tutorial «Learn Python in 10 minutes».
Если вы хотите что-то улучшить в этом материале — пожалуйста напишите в комментариях.
Язык программирования Python за 10 минут: 8 комментариев
Python предлагает большие возможности для работы со списками . Вы можете использовать операторы объявлении структуры списка. Оператор for позволяет задавать элементы списка в определенной последовательности, а if — позволяет выбирать элементы по условию.
Что-то тут не так ? Пункт «Работа с файлами» >>> testfile = open(r’/home/test/testFile.txt’, ‘w’) >>> mylist = [‘This’, ‘is’, ‘Sparta!’] >>> >>> testfile.close() >>> testfile = open(r’/home/test/testFile.txt’) >>> test = pickle.load(testfile) Traceback (most recent call last): File «», line 1, in File «/usr/lib/python2.7/pickle.py», line 1378, in load return Unpickler(file).load() File «/usr/lib/python2.7/pickle.py», line 858, in load dispatch[key](self) File «/usr/lib/python2.7/pickle.py», line 880, in load_eof raise EOFError EOFError >>>
Нврн, лучше делать так:
Рекомендую курсы программирвоания на python imprium
Анатолий, не понравился мне дизайн сайта с вашими курсами. Поэтому убрал прямую ссылку. Если я не прав, и содержание хорошее — пришлите мне доступ. Возможно размещу ссылку, если увижу, что хороший материал.
От куда ты столько знаешь
Максим, это всего лишь перевод. Но если вы интересуетесь Python, возможно это понравится: https://www.youtube.com/watch?v=OSGv2VnC0go
Привет, Сергей! Отличные статьи. Но вот с листингом беда: «` for number in rangelist: # Check if number is one of # the numbers in the tuple. if number in (3, 4, 7, 9): # «Break» terminates a for without # executing the «else» clause. break else: # «Continue» starts the next iteration # of the loop. It’s rather useless here, # as it’s the last statement of the loop. continue else: # The «else» clause is optional and is # executed only if the loop didn’t «break». pass # Do nothing «` Посмотри код выше и исправь в статье, если ты конечно заинтересован в качестве страниц на этом сайте.
Благодарю за обратную связь! :) А что не так с кодом? Вроде нормально всё, c отступами. Вставил в интерпретатор Python — тоже без проблем. Просто он ничего не делает, но так и задумано — это же просто пример синтаксиса Python.