Как написать программу на пайтон

Теги: python, пайтон, первая программа, написание программы

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

Итак, прежде чем мы приступим к написанию программы, давайте установим Python, если вы этого ещё не сделали. Для этого мы предварительно скачаем Python с официального сайта. Если у вас Windows, инсталлятор берём отсюда, выбирая нужную версию. В принципе, установка проблем не вызывает, поэтому мы не будем задерживаться на этом шаге. К тому же, в сети полно статей, где подробно и пошагово описывается инсталляция Python (кстати, его можно установить и на Unix-подобные системы: Linux, Ubuntu и прочие).

Пишем первую программу

Что нужно сделать в первую очередь? Во-первых, открыть IDLE — она представляет собой среду разработки на Python и поставляется вместе с дистрибутивом:

start_idle_1-20219-04fbfc.png

После запуска IDLE в интерактивном режиме мы можем переходить к созданию первой программы. Как уже стало доброй традицией, это будет классический «Hello world».
Чтобы написать такую простейшую программу мы используем всего одну строку кода:


После ввода этого кода в среду разработки и нажатия кнопки «Enter» мы получим соответствующий вывод:

1-20219-e3cc84.png

Элементарно, Ватсон! Теперь вы написали первую программу на Python! Впрочем, это не сделает вас программистом, ведь всё гораздо сложнее… С другой стороны, надо же с чего-то начинать.

Для закрепления можете написать другие простые программы. Например, нижеследующий код выведет в консоли 8:


Впрочем, при разработке программ на Python интерактивный режим не является основным. Чаще всего мы сохраняем код программы в файл, а потом запускаем файл. Давайте создадим в IDLE новое окно, выбрав File → New File (также можно нажать Ctrl + N):

2-20219-37c5df.png

У нас появится окно, где вводим следующий код:

name = input("Как твоё имя? ")
print("Здравствуй,", name)

Что тут происходит:
1) первая строка программы выводит в консоль вопрос, спрашивает ваше имя и ждёт ответа;
2) после того, как вы напишете имя и нажмёте «ввод», Python-программа сохранит полученное значение в переменной name;
3) вторая строка выведет на экран написанное вами имя после слова «Здравствуй». Например, «Здравствуй, Петя!».

Для запуска нашей новой программы на Python достаточно нажать F5 либо выбрать в меню IDLE Run → Run Module. Кстати, перед запуском среда разработки предложит сохранить файл (папку можете выбрать сами).

Что ж, на этом всё. Поздравляем вас с написанием первой, второй и даже третьей программы на Python. Впереди ещё много интересного, главное — не бросать начатое. Помните старую истину: «Дорогу осилит идущий».

В прошлой статье я рассказал как установить Python и среду разработки PyCharm. В этой статье поговорим о том, как написать программу на Python.

Что для этого нужно?

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

Давайте для начала напишем самую простую программу, которая просто выводит сообщение в консоль. По традиции, этим сообщением является «Hello world!».

Функция print

Функция print() выводит сообщение в консоль. В скобках в качестве параметра передается сообщение и/или переменные.

Алгоритм

1. Создаем файл с расширением .py

2. Пишем в нем строку

print(«Hello World!»)

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

Для того, чтобы этого не происходило добавим функцию input()

Функция input

Функция input() предназначена для считывания данных с клавиатуры. В скобках передается сообщение, которое будет выведено в консоль.

Добавим в конце нашей программы input(«Нажмите enter для продолжения…»), и тогда наша программа не закроется. Код будет выглядеть так:

print(«Hello World!»)

input(«Нажмите enter для продолжения…»)

Я не буду писать программу, а запущу Python из командной строки, чтобы показать вам, что всё работает.

Заключение

Подытожим.

1. Для того, чтобы написать программу на Python, нужно сформулировать, что мы хотим сделать (в нашем примере мы захотели вывести сообщение «hello world» в консоль)

2. Нужно знать синтаксис языка программирования Python (благо, он не такой сложный, в отличии от некоторых других языков программирования)

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

Первый урок по типам данных Python

Русский Питонист

Программист на 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
    

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

Рис. 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
    

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

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

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

Рис. 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. Словари

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

Рис. 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. Условные инструкции

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

Рис. 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

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

Рис. 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

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

Рис. 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%).

***

Мне кажется, IT — это не для меня. Как понять, что я на правильном пути?

Вы сделали самое важное, что необходимо новичку в IT, — первый шаг. Самообучение требует огромной мотивации, желания и трудолюбия. Здорово, если всё это есть. В противном случае первые шаги могут стать последними.

Важно, чтобы обучение доставляло удовольствие, приносило пользу и было реальным стартом в новой профессии. На курсе онлайн-университета Skypro «Python-разработчик» начинающим айтишникам помогают мягко погрузиться в индустрию. Вы научитесь:

  • писать код в Colab, PyCharm и GitHub;
  • работать с базами данных SQLite, PostgreSQL, SQLAlchemy;
  • использовать фреймворки Django, Flask;
  • разрабатывать веб-сервисы и телеграм-боты.

У Skypro гарантия трудоустройства прописана в договоре, поэтому вам реально вернут деньги, если вы не устроитесь на работу в течение четырех месяцев после окончания обучения.

#Руководства

  • 13 ноя 2019

  • 13

Рассказываем, зачем учить Python и как это поможет при работе в Data Science. Идём пошагово: от установки дистрибутива до первых практических опытов.

 vlada_maestro / shutterstock

Мария Грегуш

В бэкграунде — программирование, французский язык, академическое рисование, капоэйра. Сейчас учит финский. Любит путешествия и Балтийское море.

Python — высокоуровневый язык программирования, названный так в честь британского комедийного телешоу «Летающий цирк Монти Пайтона».

Почему именно Python? Причин много:

  • благодаря простой структуре и синтаксису это один из лучших языков для начинающих;
  • он быстро развивается;
  • в Python простой и хорошо читаемый синтаксис;
  • высокая востребованность разработчиков Python;
  • язык широко используется в веб-разработке, автоматизации и Data Science.

Data Science, или наука о данных, сочетает в себе математику, статистику, IT и знания о бизнесе. Python фактически стал отраслевым стандартом в Data Science: чаще всего разработка ведётся именно на нём. Специалисты в этой области занимаются анализом данных и работают над их визуализацией. Data Science сейчас быстро развивается, поэтому разработчики нужны компаниям всё чаще.

  • минималистичный синтаксис;
  • динамическая типизация (не надо писать тип переменной);
  • большое количество библиотек.
  • низкая скорость в базовом варианте;
  • неточности в работе с числами.

Важная особенность: в Python не указывается тип переменных. Это даёт большую гибкость, потому что в одну переменную можно записать сначала int (целое число), а потом float (число с плавающей точкой) или str (строка, текст), и тип поменяется сам. За эту гибкость, к сожалению, приходится расплачиваться скоростью.

По Python много мануалов как на английском, так и на русском языке. Однако знание английского вам сильно поможет: во-первых, большинство команд переводится с английского буквально (если вы знаете язык, вам не придётся их зубрить), а во-вторых, подсказки к командам и описания ошибок выводятся тоже на английском.

Чтобы начать программировать, нужно скачать и установить дистрибутив. Для новичков хорошо подойдёт Anaconda.

Чем он хорош: в нём есть всё, что понадобится в работе.

В Anaconda уже встроены:

  • все библиотеки машинного обучения и библиотеки для работы с данными (например, NumPy и Pandas);
  • библиотека для визуализации (Matplotlib);
  • надстройка Jupyter, чтобы программировать прямо в браузере.

После того как вы установили и открыли Anaconda, у вас появится вот такое окно:

Кнопкой Launch запустим «тетрадку» Jupyter, которая откроет ваш дефолтный браузер. После этого ваше рабочее пространство будет выглядеть так:

Или так:

По функциональности они абсолютно одинаковые.

Важная особенность: комментарии в Python делаются с помощью решетки, вот так:

Комментарии — это часть кода, которая не будет выполняться. Для чего используется комментирование?

Во-первых, чтобы написать небольшое пояснение (например, к какой-то функции).

Во-вторых, можно закомментировать часть кода, чтобы посмотреть, как остальной код работает без этой части.

Выполнение кода. Для этого используется Shift+Enter, Ctrl+Enter или значок «Пуск».

В чём разница?

Если нажать Shift+Enter, то курсор перескочит на следующую ячейку.

Если нажать Ctrl+Enter — останется в той, где вы работали.

Если ячейка выполнилась, это значит, что выполнились все действия, которые были в ней записаны.

Разберём, как устроены базовые функции в Python.

Чтобы записать в переменную V сумму 1 и 1, мы напишем так:

Если мы захотим напечатать переменную V, мы используем функцию:

Напоминаем, что в Python мы не пишем тип переменных.

При спуске этот код выведет нам 2.

Если вы забыли, что делает функция, или нашли новую, вам поможет команда help (): она выпишет основную информацию о функции. Если мы используем ее на функцию print (), это будет выглядеть так:

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

A+B	#А плюс В
A-B 	#А минус В
A*B 	#А умножить на В
A/B 	#А разделить на В

Есть и операции поинтереснее, менее очевидные:

A**B	#А в степени В
A//B	#Деление без остатка
A%B	#Остаток при делении

Иногда в Python можно встретить артефакты вроде такого:

11.3 = -0.30000000004.

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

Вывод текста. Уже сложилась традиция, что первые слова, которые человек выписывает кодом, это «Hello, World!». Сделаем это и мы.

Мы уже выводили выше переменную, теперь выведем текст. Сделать это в Python очень просто:

Иногда (например, в цикле) надо выводить одно и то же с небольшим изменением. Для этого используется форматированный вывод. Это делается так: заменим часть, которая будет меняться, фигурными скобками, а за фразой напишем .format (). В скобки вставим переменную с нужным значением. Вот как это выглядит:

name = “Valentin”
print(“Hello, {}!”.format(name))
>>> Hello, Valentin!

В некоторых версиях Python можно сделать то же самое и другим способом:

Результат будет один и тот же. Если у вас работают обе версии, то делайте так, как вам больше нравится.

  1. Операции сравнения будут возвращать ответ в виде правда/неправда: True/False.
  2. Для проверки на равенство используются два знака «равно».
  3. Для проверки на неравенство используется восклицательный знак (знак отрицания) со знаком «равно».

Например:

A = 5
B = 10
A > B
>>>False
A < B
>>>True
A == B
>>>False
A != B
>>>True
A == 5
>>>True

Теперь посмотрим, как в Python устроены условия и циклы, которые позволяют направить вычисления в ту или иную сторону.

Для условий используются классические структуры if — else. Давайте с их помощью проверим число на чётность:

num = 13
if num % 2 == 0:
	print(“Чётное”)
else:
	print(“Нечётное”)

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

Циклы позволяют выполнять какое-то действие больше чем один раз. Виды циклов:

  • while: действие будет выполняться до тех пор, пока выполняется условие;
  • for: действие будет выполнено определённое количество раз.

Посмотрим на примерах, как это работает.

ПРИМЕР 1

i = 10
while i >= 0:
	print(i)
	i = i – 1

Такой код выведет нам последовательность чисел от 10 до 0, а потом остановится.

ПРИМЕР 2

i = 10
while i >= 0:
	if i == 0:
print(“Hurray!”)
	else:
		print(i)
	i = i – 1

Здесь мы получим последовательность от 10 до 1 и напечатанное «Hurray!» в конце.

Перед работой с For-циклом надо узнать, что такое массив.

Массив — это набор информации, который представляется так:

array = [1, 2.4, -4.2, “5”]

В одном массиве можно хранить переменные разных типов. Например, в нашем массиве array хранится один int, два float и один str. Индексы в Python начинаются с нуля, поэтому чтобы получить информацию с первого места (в нашем случае цифру 1), напишем вот так:

С элементом массива можно работать как с обычным числом, то есть если написать array[0] +1, мы получим 2.

Напишем простенький цикл:

Он выведет нам все элементы нашего массива и остановится. В каждом витке цикла переменная v получает значение соответствующего элемента.

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

Давайте напишем функцию, которая увеличит значение числа, которое мы ей передадим, на единицу:

def increase_by_1(x):
	return x + 1

Команда def (от англ. define — определить) означает, что мы определяем собственную функцию, increase_by_ 1 — это её название, а x — это переменная, с которой она работает.

increase_by_1(11)
>>> 12
increase_by_1(0)
>>>1

Иногда функция уже существует, но её нет в базовой версии Python. Тогда её можно импортировать из библиотеки. Например, чтобы работать с более сложными математическими функциями, чем те, о которых мы говорили, нам понадобится библиотека math. Подключить можно всю библиотеку или только одну-две команды, в зависимости от того, что вам нужно. Для этого используется функция import. Это выглядит так:

import math		#вся библиотека
from math import sin	#только функция синус


Внимание!

Будьте осторожны с названиями функций! Если вы напишете свою функцию, а потом импортируете функцию с таким же названием, вы сможете использовать только импортированную.


Приступим к последнему заданию — сделаем в Python график курса доллара с начала 2019 года.

Для начала импортируем библиотеки Numpy (в ней удобно работать с массивами и матрицами), Pandas (работа с CSV-файлами) и Matplotlib (визуализация).

Вы можете дать библиотеке имя, которое будете использовать вместо настоящего названия, — это часто делается для экономии времени.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

На сайте Центрального Банка РФ скачаем CSV-файл с курсом от начала года.

Записываем скачанный файл в переменную money:

money = pd.read_csv(“название файла.csv”, sep = “;”)
#часть sep = “;” нужна, потому что вместо запятых в этом файле использованы знаки «;», у обычного csv это делать не нужно

Теперь если мы выведем money, то увидим таблицу с курсом.

Вот такую:

В России принято отделять десятичную часть запятой, поэтому перед созданием графика мы напишем маленькую функцию, которая заменит запятые точками.

def convert(str_money):
	return float(str_money.replace(“,”, “.”))
money[“curs”] = money[“curs”].apply(convert)

Теперь осталось только показать график командой:

Если вы всё сделали правильно, то сейчас вы видите график курса доллара США, у нас получилось вот так:

Учись бесплатно:
вебинары по программированию, маркетингу и дизайну.

Участвовать

Время на прочтение
9 мин

Количество просмотров 1.2M

Python Logo

На сайте Poromenos’ Stuff была
опубликована статья, в которой, в сжатой форме,
рассказывают об основах языка 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 = [1, [«another», «list»], («a», «tuple»)] #Список состоит из целого числа, другого списка и кортежа
>>> mylist = [«List item 1», 2, 3.14] #Этот список содержит строку, целое и дробное число
>>> mylist[0] = «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[0:2] #Считываются нулевой и первый элемент массива.
[‘List item 1’, 2]
>>> print mylist[-3:-1] #Считываются элементы от нулевого (-3) до второго (-1) (не включительно)
[‘List item 1’, 2]
>>> print mylist[1:] #Считываются элементы от первого, до последнего
[2, 3.14]

Строки

Строки в Python обособляются кавычками двойными «»» или одинарными «’». Внутри двойных ковычек могут присутствовать одинарные или наоборот. К примеру строка «Он сказал ‘привет’!» будет выведена на экран как «Он сказал ‘привет’!». Если нужно использовать строку из несколько строчек, то эту строку надо начинать и заканчивать тремя двойными кавычками «»»»». Вы можете подставить в шаблон строки элементы из кортежа или словаря. Знак процента «%» между строкой и кортежем, заменяет в строке символы «%s» на элемент кортежа. Словари позволяют вставлять в строку элемент под заданным индексом. Для этого надо использовать в строке конструкцию «%(индекс)s». В этом случае вместо «%(индекс)s» будет подставлено значение словаря под заданным индексом.

>>>print «Name: %snNumber: %snString: %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 происходит сравнение переменной и списка. Чтобы получить список цифр до числа <number> — используйте функцию range(<number>). Вот пример использования операторов

rangelist = range(10) #Получаем список из десяти цифр (от 0 до 9)
>>> print rangelist
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
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[1] == 2:
print «The second item (lists are 0-based) is 2»
elif rangelist[1] == 3:
print «The second item (lists are 0-based) is 3»
else:
print «Dunno»while rangelist[1] == 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 как заявлено в методе инициализации
>>> classinstance.myfunction(1, 2) #Метод 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эта переменная будет членом только classinstance.
>>> classinstance.test = 10
>>> classinstance.test
10

Исключения

Исключения в Python имеют структуру tryexcept [exceptionname]:

def somefunction():
try:
# Деление на ноль вызывает ошибку
10 / 0
except ZeroDivisionError:
# Но программа не «Выполняет недопустимую операцию»
# А обрабатывает блок исключения соответствующий ошибке «ZeroDivisionError»
print «Oops, invalid.»

 
>>> fnexcept()
Oops, invalid.

Импорт

Внешние библиотеки можно подключить процедурой «import [libname]», где [libname] — название подключаемой библиотеки. Вы так же можете использовать команду «from [libname] import [funcname]», чтобы вы могли использовать функцию [funcname] из библиотеки [libname]

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 = [1, 2, 3]
>>> lst2 = [3, 4, 5]
>>> print [x * y for x in lst1 for y in lst2]
[3, 4, 5, 6, 8, 10, 9, 12, 15]
>>> print [x for x in lst1 if 4 > x > 1]
[2, 3]
# Оператор «any» возвращает true, если хотя
# бы одно из условий, входящих в него, выполняется.
>>> any(i % 3 for i in [3, 3, 4, 4, 3])
True
# Следующая процедура подсчитывает количество
# подходящих элементов в списке
>>> sum(1 for i in [3, 3, 4, 4, 3] if i == 3)
3
>>> del lst1[0]
>>> print lst1
[2, 3]
>>> del lst1

  • Глобальные переменные объявляются вне функций и могут быть прочитанны без каких либо объявлений. Но если вам необходимо изменить значение глобальной переменной из функции, то вам необходимо объявить ее в начале функции ключевым словом «global», если вы этого не сделаете, то Python объявит переменную, доступную только для этой функции.

number = 5def myfunc():
# Выводит 5
print numberdef anotherfunc():
# Это вызывает исключение, поскольку глобальная апеременная
# не была вызванна из функции. Python в этом случае создает
# одноименную переменную внутри этой функции и доступную
# только для операторов этой функции.
print number
number = 3def yetanotherfunc():
global number
# И только из этой функции значение переменной изменяется.
number = 3

Эпилог

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

Преимущества Python

  • Скорость выполнения программ написанных на Python очень высока. Это связанно с тем, что основные библиотеки Python
    написаны на C++ и выполнение задач занимает меньше времени, чем на других языках высокого уровня.
  • В связи с этим вы можете писать свои собственные модули для Python на C или C++
  • В стандартныx библиотеках Python вы можете найти средства для работы с электронной почтой, протоколами
    Интернета, FTP, HTTP, базами данных, и пр.
  • Скрипты, написанные при помощи Python выполняются на большинстве современных ОС. Такая переносимость обеспечивает Python применение в самых различных областях.
  • Python подходит для любых решений в области программирования, будь то офисные программы, вэб-приложения, GUI-приложения и т.д.
  • Над разработкой Python трудились тысячи энтузиастов со всего мира. Поддержкой современных технологий в стандартных библиотеках мы можем быть обязаны именно тому, что Python был открыт для всех желающих.


Загрузить PDF


Загрузить PDF

Вы хотите начать обучаться программированию? Обучение программированию может быть очень сложным, и вы наверное думаете, что вам придется для этого посещать какие-то занятия. Хотя это верно для некоторых языков программирования, есть и большой выбор языков, на изучение основ которых потребуется всего пару дней. Python[1]
— один из таких языков. Вы всего за несколько минут сможете написать простую программу на Python и запустить ее. Приступим.

  1. Изображение с названием 167107 1

    1

    Скачайте Python для ОС Windows. Интерпретатор языка Python для Windows можно бесплатно скачать с сайта Python.[2]
    Убедитесь, что скачиваете версию, совместимую с вашей операционной системой.

    • Вам следует скачать самую последнюю доступную версию, на момент написания этой статьи это была версия 3.4.
    • OS X и Linux поставляются с уже предустановленным Python. Вам не придется устанавливать какое-либо относящееся к Python программное обеспечение, но, скорее всего, вам понадобится текстовый редактор.
    • Большинство дистрибутивов Linux и версий OS X до сих пор используют Python 2.X. Между версиями 2 и 3 было несколько изменений[3]
      , особенно касающихся оператора «print». Если вы хотите установить более новую версию Python на OS X или Linux, вы также можете скачать соответствующие файлы с сайта Python.
  2. Изображение с названием 167107 2

    2

    Установите интерпретатор языка Python. Большинство пользователей могут установить интерпретатор без изменений каких-либо настроек. Вы можете интегрировать Python в командную строку, включив последнюю опцию в списке доступных модулей.[4]

  3. Изображение с названием 167107 3

    3

    Установите текстовый редактор. Хотя вы можете создавать программы на языке Python в редакторах Блокнот или TextEdit, вы увидите, что намного легче читать и писать код с использованием специализированного текстового редактора. Существует огромный выбор бесплатных редакторов, таких как Notepad++ (для Windows), TextWrangler (для Mac) или JEdit (для любой системы).

  4. Изображение с названием 167107 4

    4

    Убедитесь, что установка прошла успешно. Откройте командную строку (в Windows) или терминал (в Mac/Linux) и наберите python. Загрузится Python и будет отображен номер его версии. Вы попадете в командную строку интерпретатора Python, обозначенную как >>>.

    • Наберите print("Привет, мир!") и нажмите Enter. Вы должны увидеть текст Привет, мир!, отображаемый под командной строкой Python.

    Реклама

  1. Изображение с названием 167107 5

    1

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

    • Python — один из самых простых для изучения языков, и вы сможете написать и запустить простенькую программу всего за несколько минут.
  2. Изображение с названием 167107 6

    2

    Разберитесь в интерпретаторе. Вы можете использовать интерпретатор для тестирования кода, не добавляя пока свою программу. Это очень полезно для изучения того, как работают конкретные команды, и для написания тестовых программ.

  3. Изображение с названием 167107 7

    3

    Изучите, как Python работает с объектами и переменными. Python — объектно-ориентированный язык. Это означает, что в программе все трактуется как объекты. Это означает, что вам не нужно в начале программы объявлять переменные (вы можете это сделать в любое время), и вам не нужно указывать тип переменной (целое число, строка и тому подобное).

    Реклама

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

  1. Изображение с названием 167107 8

    1

    Запустите интерпретатор. Откройте командную строку или терминал. Наберите python и нажмите Enter. Загрузится интерпретатор Python и вы попадете в его командную строку (>>>).

    • Если вы не интегрировали Python в командную строку, то для запуска интерпретатора вам придется перейти в директорию Python.
  2. Изображение с названием 167107 9

    2

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

    >>> 3 + 7
    10
    >>> 100 - 10*3
    70
    >>> (100 - 10*3) / 2   # Деление всегда возвращает число с плавающей точкой (десятичное число)
    35.0
    >>> (100 - 10*3) // 2   # Целочисленное деление (двойной слеш) отбрасывает дробную часть
    35
    >>> 23 % 4   # Так вычисляется остаток от деления
    3
    >>> 17.53 * 2.67 / 4.1
    11.41587804878049
    
  3. Изображение с названием 167107 10

    3

    Вычислите степень числа. Для обозначения возведения в степень вы можете использовать оператор **. Python может быстро вычислять большие числа. Смотрите пример в окне ниже.

    >>> 7 ** 2   # 7 в квадрате
    49
    >>> 5 ** 7   # 5 в степени 7
    78125
    
  4. Изображение с названием 167107 11

    4

    Создайте и измените переменные. Чтобы выполнить основные алгебраические действия, вы можете присвоить переменным какие-то значения. Это неплохое введение в то, как в Python присваивать значения переменным. Значения переменным присваиваются с помощью знака = . Смотрите пример в следующем окне.

    >>> a = 5
    >>> b = 4
    >>> a * b
    20
    >>> 20 * a // b
    25
    >>> b ** 2
    16
    >>> width = 10   # Имя переменной может быть любой строкой
    >>> height = 5
    >>> width * height
    50
    
  5. Изображение с названием 167107 12

    5

    Закройте интерпретатор. Как только вы закончили использовать интерпретатор, вы можете закрыть его и вернуться в командную строку, нажав Ctrl+Z (Windows) или Ctrl+D (Linux/Mac) и затем нажав Enter. Вы также можете набрать quit() и нажать Enter.

    Реклама

  1. Изображение с названием 167107 13

    1

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

  2. Изображение с названием 167107 14

    2

    Напишите оператор «print». «Print» — это одна из основных функций в Python и она используется для отображения информации в терминале во время выполнения программы. Обратите внимание: «print» — это одно из значимых изменений в Python 3. В Python 2 вам нужно было лишь ввести «print» и потом то, что вы хотите отобразить. В Python 3 «print» стала функцией, поэтому вам следует писать «print()» с указанием в скобках того, что вы хотите отобразить.

  3. Изображение с названием 167107 15

    3

    Добавьте свой оператор. Один из самых простых способов проверить язык программирования — это отобразить текст «Привет, мир!» Поместите этот текст внутри выражения «print()», включая и знаки кавычек:

    • В отличии от многих других языков, вам не нужно заканчивать строки знаком ;. Вам также не нужно использовать фигурные скобки ({}) для обозначения блоков кода. Вместо этого отступы будут обозначать, что включено в блок.
  4. Изображение с названием 167107 16

    4

    Сохраните файл. В меню «Файл» текстового редактора выберите «Сохранить как». В выпадающем меню под полем имени выберите тип файла Python. Если вы используете Блокнот (что не рекомендуется), выберите «Все файлы» и затем добавьте «.py» в конце имени файла.

    • Убедитесь, что сохраняете файл в легкодоступном месте, так как вы будете переходить туда с помощью командной строки.
    • Для данного примера сохраните файл как «hello.py».
  5. Изображение с названием 167107 17

    5

    Запустите программу. Откройте командную строку или терминал и перейдите в то место, где вы сохранили файл. Как только вы перешли в нужную папку, запустите файл, набрав hello.py и нажав Enter. Вы должны увидеть текст Привет, мир!, отображаемый под командной строкой.

    • В зависимости от того, как вы установили Python, для запуска программы вам, возможно, придется набрать python hello.py или python3 hello.py.
  6. Изображение с названием 167107 18

    6

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

    Реклама

  1. Изображение с названием 167107 19

    1

    Поэкспериментируйте с операторами управления. Операторы управления позволяют контролировать, что должна делать программа при определенных условиях.[5]
    Эти операторы — основа программирования на Python, и они позволят вам создавать программы, которые выполняют различные действия в зависимости от входных данных и условий. Начнем с оператора while. В этом примере вы сможете использовать оператор while для вычисления ряда Фибоначчи до 100:

    # Каждое число ряда Фибоначчи - это
    # сумма предыдущих двух чисел 
    a, b = 0, 1
    while b < 100:
    	print(b, end=' ')
    	a, b = b, a+b
    
    • Цикл будет выполняться, пока (while) b меньше чем (<) 100.
    • Будет выведен результат 1 1 2 3 5 8 13 21 34 55 89
    • Команда end=' ' будет выводить результат в той же строке вместо вывода каждого значения в отдельной строке.
    • В этой простой программе есть пара вещей, на которые стоит обратить внимание для создания сложных программ на Python:
      • Обратите внимание на отступы. : показывает, что следующая строка будет с отступом и будет частью блока кода. В примере выше print(b) и a, b = b, a+b являются частью блока while. Правильные отступы необходимы, чтобы ваша программа работала.
      • В одной строке можно определять несколько переменных. В примере выше a и b обе определены в первой строке.
      • Если вы вводите эту программу непосредственно в интерпретатор, вам следует добавить пустую строку в конце, чтобы интерпретатор знал, что программа завершена.
  2. Изображение с названием 167107 20

    2

    Определите функции внутри программы. Вы можете определить функции, которые потом будете вызывать. Это особенно полезно, если вам нужно использовать несколько функций в пределах большой программы. В следующем примере вы можете создать функцию для вычисления ряда Фибоначчи, подобную той, что вы написали ранее:[6]

    def fib(n):
    	a, b = 0, 1
    	while a < n:
    		print(a, end=' ')
    		a, b = b, a+b
    	print()
    # Позже в программе можно вызвать нужную функцию
    # Фибоначчи для любого указанного значения
    fib(1000)
    
    • Она вернет 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
  3. Изображение с названием 167107 21

    3

    Создайте более сложную программу с операторами управления. Операторы управления позволяют установить специальные условия, изменяющие способ дальнейшего выполнения программы. Это особенно важно, если вы имеете дело с входными данными от пользователя. В следующем примере будем использовать операторы if, elif (else if) и else для создания программы, которая оценивает возраст пользователя.[7]

    age = int(input("Введите ваш возраст: "))
    
    if age <= 12:
    	print("Классно быть ребенком!")
    elif age in range(13, 20):
    	print("Вы подросток!")
    else:
    	print("Время взросления")
    # Если любое из этих утверждений истинно,
    # будет отображено соответствующее сообщение.
    # Если ни одно утверждение не истинно, будет
    # показано сообщение "иначе".
    
    • Эта программа также представляет еще несколько очень важных операторов, которые будут очень полезны в большинстве различных приложений:
      • input() — оператор ожидает ввода с клавиатуры. Пользователь увидит сообщение, написанное в скобках. В этом примере input() заключено внутри функции int(), что означает, что все введенные данные будут трактоваться как целочисленные.
      • range() — эту функцию можно использовать разными способами. В этой программе она проверяет, находится ли число в интервале от 13 до 20. Конечное значение интервала не учитывается при вычислениях.
  4. Изображение с названием 167107 22

    4

    Изучите другие условные выражения. В предыдущем примере был использован символ «меньше или равно» (<=) для определения, удовлетворяет ли введенный возраст определенному условию. Вы можете использовать те же условные выражения, что и в математике, но написание их немного другое:

    Условные выражения.[8]

    Значение Символ Символ в Python
    Меньше чем < <
    Больше чем > >
    Меньше или равно <=
    Больше или равно >=
    Равно = ==
    Не равно !=
  5. 5

    Продолжайте изучение. Здесь перечислены только основы Python. Хотя он является одним из самых простых для изучения языков, в нем есть, куда можно копать, если конечно вам это интересно. Лучший способ продолжать изучать язык — это продолжать создавать программы! Помните, что вы можете быстро написать программы прямо в интерпретаторе, и тестирование вносимых изменений будет настолько же простым, как и запуск программы из командной строки.

    • По программированию на Python есть много хороших книг, включая «Изучаем Python и Программируем на Python» (Марк Лутц), «Разработка геоприложений на языке Python» (Вестра Э.), «Введение в машинное обучение с помощью Python» (Андреас Мюллер, Сара Гвидо), «Python в системном администрировании UNIX и Linux» (Ноа Гифт, Джереми М. Джонс) и другие.
    • В интернете есть множество источников, но большинство из них ориентировано на Python 2.X. Возможно, вам придется вносить корректировки в приведенные там примеры.
    • На многих курсах по программированию предлагают занятия по Python. Зачастую Python преподается на вводных занятиях, так как это один из наиболее простых языков для изучения.

    Реклама

Советы

  • Python — один из самых простых языков программирования, но все равно его изучение требует определенного терпения. Кроме того, он поможет в освоении некоторых основ алгебры, так как Python очень сильно завязан на математику.

Реклама

Об этой статье

Эту страницу просматривали 161 011 раз.

Была ли эта статья полезной?

Понравилась статья? Поделить с друзьями:
  • Как написать программу на двоичном коде
  • Как написать программу на грант
  • Как написать программу для перебора паролей
  • Как написать программу на битрикс
  • Как написать программу для начинающих