Share This
Связаться со мной
Крути в низ
Categories
//Самоучитель для начинающих: как освоить Python с нуля за 30 минут?

Самоучитель для начинающих: как освоить Python с нуля за 30 минут?

Введение в Python за полчаса, а также подборка книг и YouTube-каналов на несколько месяцев интенсивного, но более вдумчивого изучения. Обсудить

samouchitel dlja nachinajushhih kak osvoit python s nulja za 30 minut 894c33e - Самоучитель для начинающих: как освоить Python с нуля за 30 минут?

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

***

Установка Python

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     

samouchitel dlja nachinajushhih kak osvoit python s nulja za 30 minut 0830a39 - Самоучитель для начинающих: как освоить Python с нуля за 30 минут?

Рис. 1. Страница установки Atom для Windows

Для Windows скачаем Atom с официального сайта. После установки редактора кода установим для него плагин run-python-simply (есть и другие) для запуска Python. Два способа установки:

  • Перейдем на страничку плагина и нажмем кнопку Install.
  • Откроем Atom, перейдем во вкладку FileSettingsInstall , введем в поле поиска run-python-simply и установим его.

Создание проекта

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

  • перейти во вкладку PackagesRun Python SimplyToggle 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     

samouchitel dlja nachinajushhih kak osvoit python s nulja za 30 minut 8ac7adc - Самоучитель для начинающих: как освоить Python с нуля за 30 минут?

Рис. 2. Доступ к элементу строки по индексу в Python

Индексация начинается с 0. В нашем случае символ C имеет индекс 0, a1, t2.

Для получения элемента по индексу воспользуемся квадратными скобками []:

         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. Кортежи

samouchitel dlja nachinajushhih kak osvoit python s nulja za 30 minut 9f12f03 - Самоучитель для начинающих: как освоить Python с нуля за 30 минут?

Рис. 3. Доступ к элементам кортежа по индексу в Python

Кортеж (англ. 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. Словари

samouchitel dlja nachinajushhih kak osvoit python s nulja za 30 minut 62369a0 - Самоучитель для начинающих: как освоить Python с нуля за 30 минут?

Рис. 4. Устройство словаря в Python

Словарь – неупорядоченная коллекция произвольных элементов, состоящих из пар «ключ-значение». Словарь объявляется через фигурные скобки {}: 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. Условные инструкции

samouchitel dlja nachinajushhih kak osvoit python s nulja za 30 minut 741ac68 - Самоучитель для начинающих: как освоить Python с нуля за 30 минут?

Рис. 5. Условный оператор if в Python

Оператор 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

samouchitel dlja nachinajushhih kak osvoit python s nulja za 30 minut 998d09e - Самоучитель для начинающих: как освоить Python с нуля за 30 минут?

Рис. 6. Цикл while в Python

Напишем цикл, который 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

samouchitel dlja nachinajushhih kak osvoit python s nulja za 30 minut 39997bd - Самоучитель для начинающих: как освоить Python с нуля за 30 минут?

Рис. 7. Цикл for в Python

Цикл 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%).

***

На Python создают прикладные приложения, пишут тесты и бэкенд веб-приложений, автоматизируют задачи в системном администрировании, используют в нейронных сетях и анализе больших данных. Язык программирования можно изучить самостоятельно, так как много платных и бесплатных онлайн-тренажеров. Фундаментальным знаниям уделяют внимание меньше. Поэтому мы (Proglib + МГУ) запускаем онлайн-курс по математике в Data Science в формате прямого эфира с преподавателем. Пять месяцев, два раза в неделю по два академических часа. Старт курса 20 февраля. Ниже лекция преподавателя МГУ по комбинаторике для начинающих с примерами:

Лекция по комбинаторике для начинающих Подробнее о курсе

  • 20 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Связаться со мной
Close