Самоучитель Python 3, собранный из материалов данного сайта. Предназначен в основном для тех, кто хочет изучить язык программирования Python с нуля.
- Возможности языка Python
- Загрузка и установка Python
- Первая программа. Знакомство со средой разработки IDLE
- Синтаксис
- Почему моя программа не работает?
- Условный оператор if
- Циклы
- Ключевые слова, встроенные функции (для ознакомления, знать, как не стоит называть переменные)
- Числа
- Строки (часть 1, часть 2, форматирование)
- Списки (массивы)
- Индексы и срезы
- Кортежи
- Словари
- Множества
- Функции
- Исключения и их обработка
- Байтовые строки
- Файлы
- With … as — менеджеры контекста
- PEP 8 — руководство по написанию кода на Python (следовать (да и читать) необязательно, но очень рекомендуется, для того, чтобы вы смогли понять свой код через полгода)
- Документирование кода (тоже полезная вещь)
- Создание и подключение модулей
- Объектно-ориентированное программирование. Основы
- Инкапсуляция, наследование, полиморфизм
- Перегрузка операторов
- Декораторы
Прочитав статью, вы познакомитесь с особенностями языка Python, основными типами данных, условными операторы, циклами и работой с файлами. В заключении приведена подборка литературы и каналов на YouTube, а также бесплатных курсов.
***
Python в Ubuntu предустановлен. Чтобы узнать версию Python, откроем терминал комбинацией клавиш Ctrl + Alt + T
и введем следующую команду:
python3 --version
Для Windows нужно скачать Python с официального сайта и установить как обычную программу.
Установка редактора кода
Для работы нам понадобится редактор кода (IDE). Самые популярные:
- PyCharm
- Atom
- Visual Studio Code
- Sublime Text
Для установки Atom в Ubuntu введем в терминале:
wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list'
sudo apt-get update
sudo apt-get install atom
Для Windows скачаем Atom с официального сайта. После установки редактора кода установим для него плагин run-python-simply
(есть и другие) для запуска Python. Два способа установки:
- Перейдем на страничку плагина и нажмем кнопку
Install
. - Откроем Atom, перейдем во вкладку
File
→Settings
→Install
, введем в поле поискаrun-python-simply
и установим его.
Создание проекта
Создадим проект, в котором будем хранить код и другие файлы. Для этого перейдем во вкладку File
→ Add Project Folder
и выберем любую свободную папку.
Онлайн-редакторы кода
Если под рукой только смартфон, воспользуемся бесплатными онлайн-редакторами кода:
- repl.it
- onlinegdb.com
- tutorialspoint.com
- paiza.io
- onecompiler.com
1. Синтаксис
Python использует отступы, чтобы обозначить начало блока кода:
if 3 > 1:
print("Три больше единицы") # Три больше единицы
Python выдаст ошибку, если вы пропустите отступ:
if 3 > 1:
print("Три больше единицы") # Ошибка: IndentationError: expected an indented block
Рекомендуется использовать отступ, равный четырем пробелам.
2. Hello, World
Создадим файл example.py
, где example
– имя файла, .py
– расширение, которое означает, что программа написана на языке программирования Python.
Напишем в example.py
следующую строчку:
print('Hello, World') # Hello, World
У нас установлен плагин run-python-simply
и запустить код мы можем двумя способами:
- перейти во вкладку
Packages
→Run Python Simply
→Toggle F5
; - или нажать на клавишу
F5
.
После запуска кода появится окно терминала с результатом или ошибкой.
В нашем случае в терминале отобразится фраза Hello, World
.
Здесь:
print()
– функция, выводящая на экран фразу Hello, World
.
'Hello, World'
– строка (заключена в кавычки).
Также можно использовать переменную word
, которой присвоим значение 'Hello, World'
:
word = 'Hello, World'
print(word) # Hello, World
Python – язык с динамической типизацией, то есть нам не нужно заранее объявлять тип переменной, является ли она строкой, числом и так далее.
О функциях поговорим в конце статьи, сейчас разберемся со строками и другими типами данных.
3. Типы данных
3.1. Строки
Строка – упорядоченная последовательность символов, заключенная в одинарные или двойные кавычки:
"Cat and dog" # пример записи строки
'Cat and giraffe'
Операции со строками
Изменение регистра первого символа к верхнему регистру с помощью метода title()
:
string = 'cat'
print(string.title()) # Cat
Преобразование всех символов к верхнему и нижнему регистру методами upper()
и lower()
соответственно:
string = 'cat'
print(string.upper()) # CAT
string = 'DOG'
print(string.lower()) # dog
Объединение строк (конкатенация). Строки объединяются с помощью знака сложения +
:
first_animal = 'cat'
second_animal = 'dog'
all_animals = first_animal + ',' + ' ' + second_animal
print(all_animals) # cat, dog
Повторение строки:
animal = 'Cat'
print(animal * 5) # CatCatCatCatCat
Вычисление длины строки. Чтобы определить длину строки воспользуемся встроенной функцией len()
(сокращённое от англ. length):
animal = 'Cat'
print(len(animal)) # 3
Индексация начинается с 0
. В нашем случае символ C
имеет индекс 0
, a
– 1
, t
– 2
.
Для получения элемента по индексу воспользуемся квадратными скобками []
:
animal = 'Cat'
print(animal[0]) # C
В предыдущем примере по индексу мы получали один элемент строки. По срезу можно получить несколько элементов:
animal = 'CatDog'
print(animal[1:3]) # at
print(animal[0:6:2]) # Cto – выводится нулевой элемент и каждый второй после него
Как формируется срез:
list_name[start:stop:step]
, где start
– начало среза, stop
– конец среза, step
– шаг среза.
Получим с помощью среза последний элемент:
animal = 'CatDog'
print(animal[-1]) # g
Все элементы, кроме первого:
animal = 'CatDog'
print(animal[1:]) # atDog
Все элементы, кроме последнего:
animal = 'CatDog'
print(animal[0:5]) # CatDo
print(animal[:5]) # CatDo
print(animal[:-1]) # CatDo
Создание копии строки через срез:
animal = 'CatDog'
animal_copy = animal[:]
print(animal_copy) # CatDog
Методом replace()
заменим символы в строке:
animal = 'CatDog'
print(animal.replace('Cat', 'Dog')) # DogDog
В скобках метода replace()
указана дополнительная информация: Cat
– элемент, подлежащий замене на элемент Dog
.
Для удаление пробелов слева и справа применяется метод strip()
, только справа – rstrip()
, только слева – lstrip()
:
animal = ' CatDog '
print(animal.strip()) # CatDog
print(animal.rstrip()) # CatDog – здесь остался пробел слева
print(animal.lstrip()) # CatDog – здесь остался пробел справа
Преобразование строки в список индивидуальных символов:
animal = 'CatDog '
print(list(animal)) # ['C', 'a', 't', 'D', 'o', 'g', ' ']
3.2. Числа
Целые числа (int) не имеют дробной части:
print(25 + 0 - 24) # 1
Число с плавающей точкой (float) имеет дробную часть:
print(2.8 + 4.1) # 6.8999999999999995
Операции над числами:
print(2 + 3) # Сложение: 5
print(5 - 4) # Вычитание: 1
print(5 * 5) # Умножение: 25
print(4 / 2) # Деление: 2.0
print(4 ** 4) # Возведение в степень: 256
Порядок операций. Выражение в скобках будет просчитываться в первую очередь:
print(3*4 + 5) # 17
print(3*(4 + 5)) # 27
Чтобы преобразовать число с плавающей точкой в целое воспользуемся функцией int()
, а для обратного преобразования – функцией float()
:
print(int(5.156)) # 5
print(float(4)) # 4.0
3.3. Списки
Список (англ. list) – набор упорядоченных элементов произвольных типов. Списки задаются квадратными скобками []
и содержат объекты любого типа: строки, числа, другие списки и так далее. Элементы можно менять по индексу.
Создадим список animals
и выведем его на экран:
animals = ['cat', 'dog', 'giraffe']
print(animals) # ['cat', 'dog', 'giraffe']
Обратимся к второму элементу списка:
animals = ['cat', 'dog', 'giraffe']
print(animals[1]) # dog
Чтобы изменить элемент списка, обратимся к нему по индексу и присвоим новое значение:
animals = ['cat', 'dog', 'giraffe']
print(animals) # ['cat', 'dog', 'giraffe']
animals[2] = 'orangutan' # меняем третий элемент
print(animals) # ['cat', 'dog', 'orangutan']
animals[2] = ['orangutan']
print(animals) # ['cat', 'dog', ['orangutan']] – список внутри списка, вложенный список
Для добавления элемента в конец списка воспользуемся методом append()
:
animals = ['cat', 'dog', 'giraffe']
animals.append('tyrannosaurus')
print(animals) # ['cat', 'dog', 'giraffe', 'tyrannosaurus']
Метод insert()
вставляет элемент по индексу:
animals = ['cat', 'dog', 'giraffe']
animals.insert(1, 43)
print(animals) # ['cat', 43, 'dog', 'giraffe']
Число 43
вставляется на место с индексом 1
, остальные элементы сдвигаются вправо. Первый элемент остается на прежнем месте.
Для удаления элемента из списка, обратимся к элементу по индексу, используя команду del
:
animals = ['cat', 'dog', 'giraffe']
del animals[2]
print(animals) # ['cat', 'dog']
Другой способ удаления – метод pop()
:
animals = ['cat', 'dog', 'giraffe']
animals.pop(2)
print(animals) # ['cat', 'dog']
В двух предыдущих примерах мы удаляли элемент по его индексу. Теперь удалим элемент по его значению с помощью метода remove()
:
animals = ['cat', 'dog', 'giraffe']
animals.remove('dog')
print(animals) # ['cat', 'giraffe']
Чтобы упорядочить список по алфавиту используем метод sort()
:
animals = ['giraffe', 'cat', 'dog']
animals.sort()
print(animals) # ['cat', 'dog', 'giraffe']
Список в обратном порядке выводится методом reverse()
:
animals = ['cat', 'dog', 'giraffe']
animals.reverse()
print(animals) # [giraffe', 'dog', 'cat']
Для определения длины списка воспользуемся функцией len()
:
animals = ['cat', 'dog', 'giraffe']
print(len(animals)) # 3
3.4. Кортежи
Кортеж (англ. tuple), как и список хранит элементы, только в отличие от списка, элементы кортежа не изменяются. Кортеж задается круглыми скобками ()
:
animals = ('cat', 'dog', 'giraffe')
print(animals[0]) # Получение элемента кортежа с индексом 0: cat
Одноэлементный кортеж задается с помощью запятой после первого элемента. Без запятой получим строку. Чтобы узнать какой тип данных мы получаем на выходе воспользуемся функцией type()
:
animals = ('cat',)
print(animals) # ('cat',)
print(type(animals)) # <class 'tuple'> – кортеж
animals = ('cat')
print(animals) # cat
print(type(animals)) # <class 'str'> – строка
Конкатенация кортежей:
print(('cat',) + ('dog', 2)) # ('cat', 'dog', 2)
Повторение кортежа:
print(('cat', 'dog', 4) * 2) # ('cat', 'dog', 4, 'cat', 'dog', 4)
Срез кортежа:
animals = ('cat', 'dog', 'giraffe')
print(animals[0:1]) # ('cat',)
print(animals[0:2]) # ('cat', 'dog')
Чтобы создать список из элементов кортежа применим функцию list()
:
animals_tuple = ('cat', 'dog', 33)
animals_list = list(animals_tuple)
print(animals_list) # ['cat', 'dog', 33]
3.5. Словари
Словарь – неупорядоченная коллекция произвольных элементов, состоящих из пар «ключ-значение». Словарь объявляется через фигурные скобки {}
: dictionary = {‘pets
‘: ‘cat
‘, ‘numbers
‘: (1, 2)
}, где pets
и numbers
– ключи, а cat
, (1, 2)
– значения. Если в списке мы получаем объект по его индексу, то в словаре по ключу.
Получим по ключам соответствующие значения из словаря dictionary
:
dictionary = {'pets': 'cat', 'numbers': (1, 2)}
print(dictionary['pets']) # cat
print(dictionary['numbers']) # (1, 2)
print(dictionary['numbers'][1]) # 2
Чтобы добавить новую пару «ключ-значение» используем следующую запись словарь['новый_ключ'] = новое_значение
:
dictionary = {'pets': 'cat', 'numbers': (1, 2)}
dictionary['dinosaur'] = 'tyrannosaurus', 'pterodactylus'
print(dictionary) # {'pets': 'cat', 'numbers': (1, 2), 'dinosaur': ('tyrannosaurus', 'pterodactylus')}
Изменение существующего значения похоже на добавление нового значения словарь['существующий_ключ'] = новое_значение
:
dictionary = {'pets': 'cat', 'numbers': (1, 2)}
dictionary['pets'] = 'dog'
print(dictionary) # {'pets': 'dog', 'numbers': (1, 2)}
Командой del
можно удалить ключ со значением:
dictionary = {'pets': 'cat', 'numbers': (1, 2)}
del dictionary['pets']
print(dictionary) # {'numbers': (1, 2)}
3.6. Множества
Множества – неупорядоченные последовательности не повторяющихся элементов. Множество задается через фигурные скобки {}
:
animals_and_numbers = {'cat', 'dog', 99, 100}
print(animals_and_numbers) # {'cat', 99, 100, 'dog'}
Операции над множествами:
animals_and_numbers = {'cat', 'dog', 99, 100}
numbers = {555, 99}
animals = {'cat', 'dog'}
print(animals_and_numbers.union(numbers)) # {'cat', 99, 100, 'dog', 555} – добавляет в множество animals_and_numbers элементы множества numbers
print(animals_and_numbers.intersection(numbers)) # {99} – возвращает множество, являющееся пересечением множеств animals_and_numbers и numbers
print(animals_and_numbers.difference(numbers)) # {'cat', 'dog', 100} – Возвращает разность множеств animals_and_numbers и numbers
print(animals_and_numbers.issuperset(animals)) # True – Возвращает True, если animals является подмножеством animals_and_numbers.
3.7. Файлы
С помощью функции open()
мы создаем файловый объект для работы с файлами. Создадим в папке с python-файлом текстовой файл example.txt
, напишем в нем слово test
, сохраним и закроем. Следующий код открывает и выводит на экран содержимое текстового файла example.txt
:
with open('example.txt', 'r') as file:
for line in file:
print(line)
Здесь:
example.txt
– путь к файлу и его имя. В нашем случае файл расположен в папке с выполняемой программой.
r
– режим работы «только чтение».
Попробуем дозаписать числа в конец файла:
numbers = ['0', '1', '2', '3']
with open('example.txt', 'a') as file:
for number in numbers:
file.write(number + 'n')
0 # в файл запишется последовательность чисел, каждое число с новой строчки
1
2
3
Здесь:
numbers
– список чисел.
a
– режим записи «в конец текстового файла».
n
– перенос на новую строчку.
Без переноса строки результат будет следующий:
numbers = ['0', '1', '2', '3']
with open('example.txt', 'a') as file:
for number in numbers:
file.write(number)
0123 # результат записи без переноса строки
4. Ввод данных
Для ввода данных применяется функция input()
:
input_word = input('Введите какое-нибудь слово: ')
print('Слово: ' + input_word)
5. Условные инструкции
Оператор if
выполняет код в зависимости от условия. Проверим, если число три меньше пяти, то выведем на экран слово true
:
if 3 < 5:
print('true') # true
Попробуем оператор if-else
. else
переводится как «в другом случае». Когда условие if
не выполняется, то идет выполнение кода после else
:
if 3 > 5:
print('true')
else:
print('false') # false
elif
= else
+ if
– код выполняется, если предыдущее условие ложно, а текущее истинно:
number = 15
if number < 3:
print('число меньше трех')
elif 4 < number < 10:
print('число в промежутке от 4 до 10')
elif number > 10:
print('число больше 10') # число больше 10
6. Цикл while
Напишем цикл, который 5 раз выведет на экран слово hello
:
x = 0
while x < 5:
print('hello')
x += 1
# получаем пять раз слово hello
hello
hello
hello
hello
hello
Здесь:
while
– обозначение цикла.
x < 5
– условие, которое записывается после while
. Каждый раз после выполнения цикла (после одной итерации) проверяется это условие. Если оно становится ложным, цикл прекращает работу.
print('hello')
– вывести на экран слово hello
.
x += 1
– это сокращенный способ записи x = x + 1
. То есть при каждой итерации значение x увеличивается на единицу.
Бесконечный цикл записывается с помощью while True
:
while True:
print('hello')
hello
hello
hello
hello
hello
…
7. Цикл for
Цикл for
перебирает элементы последовательности:
numbers = ['0', '1', '2', '3']
for i in range(0, len(numbers)):
print(numbers[i])
# на экран выводятся числа 0, 1, 2 и 3
0
1
2
3
Здесь:
i
– переменная, которая принимает значение из диапазона значений range(0, len(numbers))
.
range(0, len(numbers))
– последовательность чисел от 0
до значения длины списка numbers
.
print(numbers[i])
– тело цикла, выводит на экран i-й элемент списка numbers
.
Второй вариант записи:
numbers = ['0', '1', '2', '3']
for number in numbers:
print(number)
# идентичный результат
0
1
2
3
8. Функции
Функция выполняет одну конкретную задачу и имеет имя. Напишем функцию greeting()
, которая выводит на экран приветствие:
def greeting(): # объявление функции
print('hello') # тело функции
greeting() # запуск функции
Здесь:
def
– создает объект функции и присваивает ей имя greeting
. В скобках можно указать аргументы (см. следующий пример). В нашем случае аргументов нет и скобки пустые.
print('hello')
– выводит на экран слово hello
.
Напишем функцию summation()
, которая складывает два числа:
def summation (a, b):
return print(a + b)
summation(3, 8) # 11
Здесь:
a
и b
– аргументы функции.
return
возвращает значение функции.
9. Модули
Модуль – файл, содержащий функции, классы и данные, которые можно использовать в других программах.
from math import trunc
print(trunc(3.9)) # 3
Здесь:
from math import trunc
– из встроенного в Python модуля math
импортируем функцию trunc
, которая отбрасывает дробную часть числа.
Это был импорт отдельной функции. Теперь импортируем весь модуль и обратимся к функции через модуль.имя_функции()
:
import math
print(math.trunc(3.9)) # 3
10. Комментарии
Комментирование кода помогает объяснить логику работы программы. Однострочный комментарий начинается с хеш-символа #
:
a = 45 # комментарий к коду
Многострочный комментарий заключается с обеих сторон в три кавычки:
"""
a = 45
b = 99
"""
Литература
- «Изучаем 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: команды, функции, операторы и типы данных. У этого языка низкий порог вхождения, простой синтаксис, поэтому вероятность освоить его человеку, который никогда не занимался программированием – высокая (по моей субъективной оценке – 90%).
***
Мне кажется, IT — это не для меня. Как понять, что я на правильном пути?
Вы сделали самое важное, что необходимо новичку в IT, — первый шаг. Самообучение требует огромной мотивации, желания и трудолюбия. Здорово, если всё это есть. В противном случае первые шаги могут стать последними.
Важно, чтобы обучение доставляло удовольствие, приносило пользу и было реальным стартом в новой профессии. На курсе онлайн-университета Skypro «Python-разработчик» начинающим айтишникам помогают мягко погрузиться в индустрию. Вы научитесь:
- писать код в Colab, PyCharm и GitHub;
- работать с базами данных SQLite, PostgreSQL, SQLAlchemy;
- использовать фреймворки Django, Flask;
- разрабатывать веб-сервисы и телеграм-боты.
У Skypro гарантия трудоустройства прописана в договоре, поэтому вам реально вернут деньги, если вы не устроитесь на работу в течение четырех месяцев после окончания обучения.
Введение
Учебник Python предоставляет базовые и расширенные концепции Python. Руководство по Python предназначено для начинающих и более опытных разработчиков.
Python — это объектно-ориентированный язык программирования общего назначения высокого уровня.
Python также является интерпретируемым языком сценариев. Гвидо Ван Россум известен как основатель программирования на Python.
Руководство по Python включает в себя все темы программирования Python, такие как установка, управляющие операторы, строки, списки, кортежи, словари, модули, исключения, дата и время, ввод-вывод и т.д.
Python — это универсальный, динамический, высокоуровневый интерпретируемый язык программирования. Он поддерживает объектно-ориентированный подход к программированию для разработки приложений. Он прост и легок в освоении и предоставляет множество высокоуровневых структур данных.
Python — это простой в освоении, но мощный и универсальный язык сценариев, что делает его привлекательным для разработки приложений.
Синтаксис Python и динамическая типизация с его интерпретируемой природой делают его идеальным языком для написания сценариев и быстрой разработки приложений.
Python поддерживает несколько шаблонов программирования, включая объектно-ориентированные, императивные и функциональные или процедурные стили программирования.
Python предназначен не только лишь для работы в определенной области, например в веб-программировании. Он известен как многоцелевой язык программирования, потому что его можно использовать в вебразработки, машинном обучении, в 3D CAD и других сферах.
Нам не нужно использовать типы данных для объявления переменной, потому что она динамически типизирована, поэтому мы можем написать = 10 для присвоения целочисленного значения в целочисленной переменной.
Python ускоряет разработку и отладку, поскольку в разработку Python не входит этап компиляции, а цикл редактирования-тестирования-отладки выполняется очень быстро.
Python 2 vs Python 3
В большинстве языков программирования всякий раз, когда выпускается новая версия, она поддерживает функции и синтаксис существующей версии языка, поэтому проектам легче переключиться на более новую версию. Однако в случае Python две версии Python 2 и Python 3 очень сильно отличаются друг от друга.
Список различий между Python 2 и Python 3 приведен ниже:
- Python 2 использует
print
как оператор и используется какprint "строка"
для печати некоторой строки на консоли. С другой стороны, Python 3 используетprint
как функцию и используется какprint("текст")
для печати чего-либо на консоли. - Python 2 использует функцию
raw_input()
для возврата строки, представляющую значение, введенное пользователем. Чтобы преобразовать его в целое число, нам нужно использовать функциюint()
в Python. С другой стороны, Python 3 использует функциюinput()
, которая автоматически интерпретирует тип ввода, введенного пользователем. Однако мы можем привести это значение к любому типу, используя примитивные функции (int()
,str()
и т.д.). - В Python 2 неявным строковым типом является ASCII, тогда как в Python 3 неявным строковым типом является Unicode.
- Python 3 не содержит функцию
xrange()
как Python 2.xrange()
— это вариант функцииrange()
, которая возвращает объект xrange, который работает аналогично итератору Java.range()
возвращает список, например, функцияrange(0,3)
содержит 0, 1, 2. - Также есть небольшое изменение в обработке исключений в Python 3. Он определяет ключевое слово, которое необходимо использовать. Мы обсудим это в разделе «Обработка исключений» руководства по программированию на Python.
История Python
Python был изобретен Гвидо ван Россумом в 1991 году в CWI в Нидерландах. Идея языка программирования Python взята из языка программирования ABC, или мы можем сказать, что ABC является предшественником языка Python.
За выбором названия языка также есть интересный факт. Гвидо ван Россум был поклонником популярного в то время комедийного шоу BBC «Летающий цирк Монти Пайтона». Поэтому он решил выбрать имя Python для своего недавно созданного языка программирования.
Python имеет огромное сообщество во всем мире.
Зачем изучать Python?
Python предоставляет программисту множество полезных функций. Эти особенности делают его самым популярным и широко используемым языком. Ниже мы перечислили несколько важных функций Python.
- Легко использовать и изучать
- Выразительный язык
- Интерпретируемый язык
- Объектно-ориентированный язык
- Язык с открытым исходным кодом
- Расширяемый
- Имеет обширную стандартную библиотеку
- Поддержка программирования GUI
- Интегрированный
- Встраиваемый
- Поддержка динамического распределия памяти
- Широкий выбор библиотек и фреймворков
Где используется Python?
Python — это популярный язык программирования общего назначения, который используется практически во всех технических областях. Ниже приведены различные области использования Python.
- Data Science
- Date Mining
- Настольные приложения
- Консольные приложения
- Мобильные приложения
- Разработка программного обеспечения
- Искусственный интеллект
- Веб-приложения
- Корпоративные приложения
- Приложения 3D CAD
- Машинное обучение
- Приложения компьютерного зрения или обработки изображений.
- Распознавание речи
Базовый синтаксис Python
В языке программирования Python не используются фигурные скобки или точка с запятой. Но Python использует отступ для определения блока кода. Отступы — это не что иное, как добавление пробелов перед оператором, когда это необходимо.
def func():
statement 1
statement 2
…………………
…………………
statement N
В приведенном выше примере операторы, расположенные на одном уровне справа, принадлежат функции. Как правило, мы можем использовать четыре пробела для определения отступа.
Популярные фреймворки и библиотеки Python
Python имеет широкий спектр библиотек и фреймворков, широко используемых в различных областях, таких как машинное обучение, искусственный интеллект, веб-приложения и т.д.
- Веб-разработка (на стороне сервера) — Django, Flask, Pyramid, CherryPy
- Desktop-приложения — Tk, PyGTK, PyQt, PyJs и т.д.
- Машинное обучение — TensorFlow, PyTorch, Scikit-learn, Matplotlib, Scipy и т.д.
- Математика — Numpy, Pandas и т.д.
Функция Python print()
Функция print()
отображает передаввное значение на стандартном устройстве вывода (экране) или в файл текстового потока.
В отличие от других языков программирования, функция print()
в Python является наиболее уникальной и универсальной функцией.
Синтаксис функции print()
приведен ниже.
Разберем его параметры по порядку:
- objects — объект — это не что иное, как утверждение, которое нужно напечатать. Знак
*
означает, что операторов может быть несколько. - sep — параметр sep разделяет значения печати. Значения по умолчанию: «».
- end — печатается в конце строки.
- file — это должен быть объект с методом записи.
- flush — поток или файл принудительно очищаются, если значение
True
. По умолчанию его значениеFalse
. - Давайте разберемся в следующем примере.
print("Welcome to lesson.")
a = 10
# В функцию print() передаются два объекта
print("a =", a)
b = a
# В функцию print() передаются три объекта
print('a =', a, '= b')
Вывод:
Welcome to lesson.
a = 10
a = 10 = b
Как видно из вышеприведенного вывода, несколько объектов могут быть напечатаны в одном операторе print()
. Нам просто нужно использовать запятую (,) для разделения передаваемых значений.
Пример — 2: Использование аргумента sep и end
a = 10
print("a =", a, sep='dddd', end='nnn')
print("a =", a, sep='0', end='$$$$$')
Вывод:
a =dddd10
a =010$$$$$
В первом операторе print()
мы используем аргументы sep и end. Данный объект печатается сразу после значений sep. Значение конечного параметра печатается в последнем заданном объекте. Как мы видим, вторая функция print()
напечатала результат после трех пустых строк.
Ввод данных от пользователем
Python предоставляет функцию input()
, которая используется для ввода данных от пользователя. Давайте разберемся в следующем примере.
name = input("Enter a name of student:")
print("The student name is: ", name)
Вывод:
Enter a name of student: Devansh
The student name is: Devansh
По умолчанию функция input()
принимает строковый ввод, но что, если мы хотим использовать другие типы данных в качестве ввода?
Если мы хотим принимать ввод как целое число, нам нужно преобразовать тип функции input()
в целое число.
a = int(input("Enter first number: "))
b = int(input("Enter second number: "))
print(a+b)
Вывод:
text
Enter first number: 50
Enter second number: 100
150
Мы можем принимать значения любого типа, используя функцию input()
.
Операторы в Python
Операторы — это языковые конктрукции, которые выполняют различные операции с объектами Python. Операторы Python наиболее важны для работы с типами данных Python. Кроме того, Python также обеспечивает идентификацию членства и побитовые операторы. Мы изучим все эти операторы на соответствующем примере в дальнейшем.
Условные операторы в Python
Условные операторы помогают нам выполнить конкретный блок для определенного условия. В этом руководстве мы узнаем, как использовать условное выражение для выполнения другого блока операторов. Python предоставляет ключевые слова if
и else
для создания логических условий. Ключевое слово elif
также используется как условный оператор.
Циклы в Python
Выполнение определенного кода может потребоваться повторить несколько раз. Для этого в языках программирования предусмотрены различные типы циклов, способных многократно повторять определенный код.
Структуры данных в Python
Python предоставляет встроенные структуры данных, такие как список, кортеж, словарь и набор. Мы можем выполнять сложные задачи, используя структуры данных.
Список в Python
List в Python содержит упорядоченный набор элементов. Мы можем хранить последовательность элементов в списке. Список Python является изменяемым, что означает, что он может быть изменен после его создания. Элементы списков заключаются в квадратные скобки []
и разделяются запятой. Давайте посмотрим на пример списка.
L1 = ["John", 102, "USA"]
L2 = [1, 2, 3, 4, 5, 6]
Если мы попытаемся распечатать тип L1
, L2
и L3
с помощью функции type()
, то получится список.
Вывод:
<class ‘list’>
<class ‘list’>
Кортежи в Python
Python Tuple используется для хранения последовательности неизменяемых объектов Python. Кортеж похож на списки, но в отличие от списков значение в которых может быть изменено, кортеж является неизменным, а значение элементов, хранящихся в кортеже, не может быть изменено.
tup = ("Apple", "Mango" , "Orange" , "Banana")
print(type(tup))
print(tup)
Вывод:
<class ‘tuple’>
(‘Apple’, ‘Mango’, ‘Orange’, ‘Banana’)
Если мы попытаемся добавить новый элемент в кортеж, будет выдана ошибка.
tup = ("Apple", "Mango" , "Orange" , "Banana")
tup[2] = "Papaya"
print(tup)
Вывод:
Traceback (most recent call last):
File «C:/Users/DEVANSH SHARMA/PycharmProjects/Hello/gamewithturtle.py», line 3, in
tup[2] = «Papaya»
TypeError: ‘tuple’ object does not support item assignment
Строки в Python
Строка Python — это последовательность символов. Это набор символов, заключенных в одинарные, двойные или тройные кавычки. Его также можно определить как набор символов Юникода. Мы можем создать строку следующим образом.
# Creating string using double quotes
str1 = "Hi Python"
print(str1)
# Creating string using single quotes
str1 = 'Hi Python'
print(str1)
# Creating string using triple quotes
str1 = '''Hi Python'''
print(str1)
Вывод:
Hi Python
Hi Python
Hi Python
Python не поддерживает символьный тип данных. Одиночный символ, записанный как 'p'
, рассматривается как строка длиной 1.
Строки также иммутабельны (неизменны).
Словари в Python
Dictionaries в Python — это наиболее эффективная структура данных, которая используется для хранения большого количества данных. Он хранит данные в формате пары ключ-значение. Каждое значение сохраняется в соответствии со своим ключом.
Ключи должны быть уникальными, а значение может быть любым, например целым числом, списком, кортежем и т.д.
Это изменяемый тип; Ниже приведен пример создания словаря на Python.
employee = {"Name": "John", "Age": 29, "salary":250000,"Company":"GOOGLE"}
print(type(employee))
print("printing Employee data .... ")
print(employee)
Вывод:
<class ‘dict’>
Printing Employee data ….
{‘Name’: ‘John’, ‘Age’: 29, ‘salary’: 250000, ‘Company’: ‘GOOGLE’}
Пустые фигурные скобки используются для создания пустого словаря.
Множества в Python
Множества в Python — это набор неупорядоченных элементов. Каждый элемент в наборе должен быть уникальным и неизменным. Множества изменяемы, что означает, что мы можем изменять их в любое время на протяжении всей программы. Разберемся на примере создания множества на Python.
# Creating Set
Month = {"January", "February", "March", "April", "May", "June", "July"}
print(Month)
print(type(Month))
Вывод:
{‘March’, ‘July’, ‘April’, ‘May’, ‘June’, ‘February’, ‘January’}
<class ‘set’>
Функциональное программирование на Python
В этом разделе учебника Python определены некоторые важные инструменты, связанные с функциональным программированием, такие как лямбда и рекурсивные функции. Эти функции очень эффективны при решении сложных задач. Мы определяем несколько важных функций, таких как reduce
, map
, и filter
. Python предоставляет модуль functools
, который включает в себя различные инструменты функционального программирования.
Файловый ввод-вывод на Python
Файлы используются для хранения данных на диске компьютера. Мы можем открыть файл с помощью скрипта Python и выполнять различные операции, такие как запись, чтение и добавление данных.
Модули в Python
Модули в Python — это программные файлы, содержащие код или функции Python. В Python есть два типа модулей — определяемые пользователем и встроенные. Модуль, который определяет пользователь это, по сути, наш код Python, сохраненный с расширением .py
.
Встроенные модули — это предопределенные модули Python. Чтобы использовать функциональность модулей, нам необходимо импортировать их в нашу текущую рабочую программу.
Исключения в Python
Исключение можно определить как необычное условие в программе, приводящее к прерыванию выполнения программы.
Всякий раз, когда возникает исключение, программа останавливает выполнение, и, таким образом, дальнейший код не выполняется. Таким образом, исключение составляют ошибки времени выполнения, которые невозможно обработать скриптом Python. Исключением является объект Python, представляющий ошибку.
Python CSV
CSV означает «значения, разделенные запятыми», который определяется как простой формат файла, использующий определенную структуру для упорядочивания табличных данных. Он хранит табличные данные, такие как электронная таблица или база данных, в виде обычного текста и имеет общий формат для обмена данными. Файл csv
открывается на листе Excel, а данные строк и столбцов определяют стандартный формат.
Отправка почты в Python
Мы можем отправлять или читать почту с помощью скрипта Python. Модули стандартной библиотеки Python полезны для обработки различных протоколов, таких как PoP3 и IMAP. Мы узнаем, как отправить письмо с помощью популярного почтового сервиса SMTP из скрипта Python.
Магические методы в Python
Магический метод Python определяется как специальный метод, который добавляет классу «магию». Он начинается и заканчивается двойным подчеркиванием, например _init_
или _str_
.
Встроенные классы определяют множество магических методов. Функцию dir()
можно использовать для просмотра количества магических методов, унаследованных классом. Он имеет два префикса и суффикс подчеркивания в имени метода.
Концепция ООП в Python
Все в Python рассматривается как объект, включая целочисленные значения, числа с плавающей запятой, функции, классы. Классы Python являются описанием объекта. Конструктор Python предоставляет специальный метод __init__()
, который известен как конструктор. Этот метод автоматически вызывается при создании экземпляра объекта.
Член данных — переменная, которая содержит данные, связанные с классом и его объектами.
Продвинутые темы Python
Python включает в себя множество передовых и полезных концепций, которые помогают программисту решать сложные задачи. Эти концепции перечислены ниже.
Итератор в Python
Итератор — это просто объект, который можно повторять. Он возвращает по одному объекту за раз. Его можно реализовать с помощью двух специальных методов __iter__()
и __next__()
.
Генераторы Python
Генераторы — это самый простой способ создания итераторов.
Декораторы Python
Они используются для изменения поведения функции. Декораторы обеспечивают гибкость, позволяющую обернуть другую функцию, чтобы расширить работу обернутой функции, без ее постоянного изменения.
Подключения к базе данных в Python
Мы можем использовать различные базы данных вместе с Python. Вы можете изучить полное руководство, посетив указанные ниже ресурсы. Python DBI-API одобряет стандартные наборы функций, которые должны быть включены в модули подключения к базам данных для соответствующих продуктов СУБД.
Python MySQL
- Настройка среды
- Подключение к базе данных
- Создание новой базы данных
- Создание таблиц
- Операция вставки
- Операция чтения
- Операция обновления
- Обънединение таблиц
- Выполнение транзакций
Python CGI
Python CGI означает «Общий интерфейс шлюза», который используется для определения того, как обмениваться информацией между веб-сервером и пользовательскими скриптами Python. Общий интерфейс шлюза — это стандарт для программ внешнего шлюза для взаимодействия с сервером, например HTTP-серверов.
Хендбук по Python поможет овладеть основным синтаксисом и принципами языка. Для этого не потребуется специальной подготовки — достаточно знаний по информатике, логике и математике на уровне школьной программы. Кроме основных конструкций в учебнике рассмотрены разные подходы к программированию, реализованные на Python. А в последней главе вы прикоснётесь к главной суперсиле языка — большому количеству прикладных библиотек.
-
1. Введение
-
2. Базовые конструкции Python
-
3. Коллекции и работа с памятью
-
4. Функции и их особенности в Python
-
5. Объектно-ориентированное программирование
-
6. Библиотеки для получения и обработки данных