Прочитав статью, вы познакомитесь с особенностями языка Python, основными типами данных, условными операторы, циклами и работой с файлами. В заключении приведена подборка литературы и каналов на YouTube, а также бесплатных курсов.
Установка Python
Python в Ubuntu предустановлен. Чтобы узнать версию Python, откроем терминал комбинацией клавиш Ctrl + Alt + T
и введем следующую команду:
Для Windows нужно скачать Python с официального сайта и установить как обычную программу.
Установка редактора кода
Для работы нам понадобится редактор кода (IDE). Самые популярные:
Для установки Atom в Ubuntu введем в терминале:
Для Windows скачаем Atom с официального сайта. После установки редактора кода установим для него плагин run-python-simply
(есть и другие) для запуска Python. Два способа установки:
- Перейдем на страничку плагина и нажмем кнопку
Install
. - Откроем Atom, перейдем во вкладку
File
→Settings
→Install
, введем в поле поискаrun-python-simply
и установим его.
Создание проекта
Создадим проект, в котором будем хранить код и другие файлы. Для этого перейдем во вкладку File
→ Add Project Folder
и выберем любую свободную папку.
Онлайн-редакторы кода
Если под рукой только смартфон, воспользуемся бесплатными онлайн-редакторами кода:
1. Синтаксис
Python использует отступы, чтобы обозначить начало блока кода:
Python выдаст ошибку, если вы пропустите отступ:
Рекомендуется использовать отступ, равный четырем пробелам.
2. Hello, World
Создадим файл example.py
, где example
– имя файла, .py
– расширение, которое означает, что программа написана на языке программирования Python.
Напишем в example.py
следующую строчку:
У нас установлен плагин run-python-simply
и запустить код мы можем двумя способами:
- перейти во вкладку
Packages
→Run Python Simply
→Toggle F5
; - или нажать на клавишу
F5
.
После запуска кода появится окно терминала с результатом или ошибкой.
В нашем случае в терминале отобразится фраза Hello, World
.
Здесь:
print()
– функция, выводящая на экран фразу Hello, World
.
'Hello, World'
– строка (заключена в кавычки).
Также можно использовать переменную word
, которой присвоим значение 'Hello, World'
:
Python – язык с динамической типизацией, то есть нам не нужно заранее объявлять тип переменной, является ли она строкой, числом и так далее.
О функциях поговорим в конце статьи, сейчас разберемся со строками и другими типами данных.
3. Типы данных
3.1. Строки
Строка – упорядоченная последовательность символов, заключенная в одинарные или двойные кавычки:
Операции со строками
Изменение регистра первого символа к верхнему регистру с помощью метода title()
:
Преобразование всех символов к верхнему и нижнему регистру методами upper()
и lower()
соответственно:
Объединение строк (конкатенация). Строки объединяются с помощью знака сложения +
:
Повторение строки:
Вычисление длины строки. Чтобы определить длину строки воспользуемся встроенной функцией len()
(сокращённое от англ. length):
Индексация начинается с 0
. В нашем случае символ C
имеет индекс 0
, a
– 1
, t
– 2
.
Для получения элемента по индексу воспользуемся квадратными скобками []
:
В предыдущем примере по индексу мы получали один элемент строки. По срезу можно получить несколько элементов:
Как формируется срез:
list_name[start:stop:step]
, где start
– начало среза, stop
– конец среза, step
– шаг среза.
Получим с помощью среза последний элемент:
Все элементы, кроме первого:
Все элементы, кроме последнего:
Создание копии строки через срез:
Методом replace()
заменим символы в строке:
В скобках метода replace()
указана дополнительная информация: Cat
– элемент, подлежащий замене на элемент Dog
.
Для удаление пробелов слева и справа применяется метод strip()
, только справа – rstrip()
, только слева – lstrip()
:
Преобразование строки в список индивидуальных символов:
3.2. Числа
Целые числа (int) не имеют дробной части:
Число с плавающей точкой (float) имеет дробную часть:
Операции над числами:
Порядок операций. Выражение в скобках будет просчитываться в первую очередь:
Чтобы преобразовать число с плавающей точкой в целое воспользуемся функцией int()
, а для обратного преобразования – функцией float()
:
3.3. Списки
Список (англ. list) – набор упорядоченных элементов произвольных типов. Списки задаются квадратными скобками []
и содержат объекты любого типа: строки, числа, другие списки и так далее. Элементы можно менять по индексу.
Создадим список animals
и выведем его на экран:
Обратимся к второму элементу списка:
Чтобы изменить элемент списка, обратимся к нему по индексу и присвоим новое значение:
Для добавления элемента в конец списка воспользуемся методом append()
:
Метод insert()
вставляет элемент по индексу:
Число 43
вставляется на место с индексом 1
, остальные элементы сдвигаются вправо. Первый элемент остается на прежнем месте.
Для удаления элемента из списка, обратимся к элементу по индексу, используя команду del
:
Другой способ удаления – метод pop()
:
В двух предыдущих примерах мы удаляли элемент по его индексу. Теперь удалим элемент по его значению с помощью метода remove()
:
Чтобы упорядочить список по алфавиту используем метод sort()
:
Список в обратном порядке выводится методом reverse()
:
Для определения длины списка воспользуемся функцией len()
:
3.4. Кортежи
Кортеж (англ. tuple), как и список хранит элементы, только в отличие от списка, элементы кортежа не изменяются. Кортеж задается круглыми скобками ()
:
Одноэлементный кортеж задается с помощью запятой после первого элемента. Без запятой получим строку. Чтобы узнать какой тип данных мы получаем на выходе воспользуемся функцией type()
:
Конкатенация кортежей:
Повторение кортежа:
Срез кортежа:
Чтобы создать список из элементов кортежа применим функцию list()
:
3.5. Словари
Словарь – неупорядоченная коллекция произвольных элементов, состоящих из пар «ключ-значение». Словарь объявляется через фигурные скобки {}
: dictionary = {'pets
': 'cat
', 'numbers
': (1, 2)
}, где pets
и numbers
– ключи, а cat
, (1, 2)
– значения. Если в списке мы получаем объект по его индексу, то в словаре по ключу.
Получим по ключам соответствующие значения из словаря dictionary
:
Чтобы добавить новую пару «ключ-значение» используем следующую запись словарь['новый_ключ'] = новое_значение
:
Изменение существующего значения похоже на добавление нового значения словарь['существующий_ключ'] = новое_значение
:
Командой del
можно удалить ключ со значением:
3.6. Множества
Множества – неупорядоченные последовательности не повторяющихся элементов. Множество задается через фигурные скобки {}
:
Операции над множествами:
3.7. Файлы
С помощью функции open()
мы создаем файловый объект для работы с файлами. Создадим в папке с python-файлом текстовой файл example.txt
, напишем в нем слово test
, сохраним и закроем. Следующий код открывает и выводит на экран содержимое текстового файла example.txt
:
Здесь:
example.txt
– путь к файлу и его имя. В нашем случае файл расположен в папке с выполняемой программой.
r
– режим работы «только чтение».
Попробуем дозаписать числа в конец файла:
Здесь:
numbers
– список чисел.
a
– режим записи «в конец текстового файла».
\n
– перенос на новую строчку.
Без переноса строки результат будет следующий:
4. Ввод данных
Для ввода данных применяется функция input()
:
5. Условные инструкции
Оператор if
выполняет код в зависимости от условия. Проверим, если число три меньше пяти, то выведем на экран слово true
:
Попробуем оператор if-else
. else
переводится как «в другом случае». Когда условие if
не выполняется, то идет выполнение кода после else
:
elif
= else
+ if
– код выполняется, если предыдущее условие ложно, а текущее истинно:
6. Цикл while
Напишем цикл, который 5 раз выведет на экран слово hello
:
Здесь:
while
– обозначение цикла.
x < 5
– условие, которое записывается после while
. Каждый раз после выполнения цикла (после одной итерации) проверяется это условие. Если оно становится ложным, цикл прекращает работу.
print('hello')
– вывести на экран слово hello
.
x += 1
– это сокращенный способ записи x = x + 1
. То есть при каждой итерации значение x увеличивается на единицу.
Бесконечный цикл записывается с помощью while True
:
7. Цикл for
Цикл for
перебирает элементы последовательности:
Здесь:
i
– переменная, которая принимает значение из диапазона значений range(0, len(numbers))
.
range(0, len(numbers))
– последовательность чисел от 0
до значения длины списка numbers
.
print(numbers[i])
– тело цикла, выводит на экран i-й элемент списка numbers
.
Второй вариант записи:
8. Функции
Функция выполняет одну конкретную задачу и имеет имя. Напишем функцию greeting()
, которая выводит на экран приветствие:
Здесь:
def
– создает объект функции и присваивает ей имя greeting
. В скобках можно указать аргументы (см. следующий пример). В нашем случае аргументов нет и скобки пустые.
print('hello')
– выводит на экран слово hello
.
Напишем функцию summation()
, которая складывает два числа:
Здесь:
a
и b
– аргументы функции.
return
возвращает значение функции.
9. Модули
Модуль – файл, содержащий функции, классы и данные, которые можно использовать в других программах.
Здесь:
from math import trunc
– из встроенного в Python модуля math
импортируем функцию trunc
, которая отбрасывает дробную часть числа.
Это был импорт отдельной функции. Теперь импортируем весь модуль и обратимся к функции через модуль.имя_функции()
:
10. Комментарии
Комментирование кода помогает объяснить логику работы программы. Однострочный комментарий начинается с хеш-символа #
:
Многострочный комментарий заключается с обеих сторон в три кавычки:
Литература
- «Изучаем Python», Марк Лутц
- «Программируем на Python», Майкл Доусон
- «Изучаем программирование на Python», Пол Бэрри
- «Начинаем программировать на Python», Тонни Гэддис
- «Простой Python. Современный стиль программирования», Билл Любанович
Шпаргалки
- Шпаргалка по Python3 (.pdf)
- Python Cheat Sheet (.pdf)
- Beginners Python Cheat Sheet (.pdf)
- Essential Python Cheat Sheet
- Python Conditions Cheat Sheet
Больше шпаргалок в нашей группе ВКонтакте.
YouTube-каналы и курсы
Бесплатные курсы на русском и английском языках в YouTube и на образовательных ресурсах:
На английском:
- Programming with Mosh
- freeСodeСamp.org
- Microsoft Developer
- Introduction To Python Programming (Udemy)
На русском:
- Python с нуля
- Python для начинающих
- Python с нуля от А до Я
- Программирование на Python (Stepik)
- Python: основы и применение (Stepik)
- Питонтьютор (онлайн-тренажер)
Python в «Библиотеке Программиста»
- подписывайтесь на тег Python, чтобы получать уведомления о новых постах на сайте;
- телеграм-канал «Библиотека питониста»;
- телеграм-канал для поиска работы «Python jobs — вакансии по питону, Django, Flask».
Подробный самоучитель по Python
- Особенности, сферы применения, установка, онлайн IDE
- Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
- Типы данных: преобразование и базовые операции
- Методы работы со строками
- Методы работы со списками и списковыми включениями
- Методы работы со словарями и генераторами словарей
- Методы работы с кортежами
- Методы работы со множествами
- Особенности цикла for
- Условный цикл while
- Функции с позиционными и именованными аргументами
- Анонимные функции
- Рекурсивные функции
- Функции высшего порядка, замыкания и декораторы
- Методы работы с файлами и файловой системой
- Регулярные выражения
- Основы скрапинга и парсинга
- Основы ООП: инкапсуляция и наследование
- Основы ООП – абстракция и полиморфизм
- Графический интерфейс на Tkinter
- Основы разработки игр на Pygame
- Основы работы с SQLite
- Основы веб-разработки на Flask
- Основы работы с NumPy
- Основы анализа данных с Pandas
Мы кратко познакомились с основными понятиями Python: команды, функции, операторы и типы данных. У этого языка низкий порог вхождения, простой синтаксис, поэтому вероятность освоить его человеку, который никогда не занимался программированием – высокая (по моей субъективной оценке – 90%).
Какие книги и курсы по Python нравятся вам? Пишите в комментариях.