Краткое руководство по питону

Время на прочтение
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: %s\nNumber: %s\nString: %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 был открыт для всех желающих.

Хендбук по Python поможет овладеть основным синтаксисом и принципами языка. Для этого не потребуется специальной подготовки — достаточно знаний по информатике, логике и математике на уровне школьной программы. Кроме основных конструкций в учебнике рассмотрены разные подходы к программированию, реализованные на Python. А в последней главе вы прикоснётесь к главной суперсиле языка — большому количеству прикладных библиотек.

  • 1. Введение

  • 2. Базовые конструкции Python

  • 3. Коллекции и работа с памятью

  • 4. Функции и их особенности в Python

  • 5. Объектно-ориентированное программирование

  • 6. Библиотеки для получения и обработки данных

Прочитав статью, вы познакомитесь с особенностями языка 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%).

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

Основы синтаксиса Python

Python — это язык программирования, который использует удобный и легкий для понимания синтаксис. Каждый фрагмент кода в Python содержит операторы, переменные и выражения, которые определяют поведение программы.

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

Арифметические операторы:

x = 10
y = 5
print(x + y) # Сложение
print(x — y) # Вычитание
print(x * y) # Умножение
print(x / y) # Деление
print(x % y) # Остаток от деления
print(x ** y) # Возведение в степень

Логические операторы:

x = True
y = False
print(x and y) # И
print(x or y) # Или
print(not x) # Не

Операторы сравнения:

x = 10
y = 5
print(x == y) # Равенство
print(x != y) # Неравенство
print(x > y) # Больше
print(x < y) # Меньше
print(x >= y) # Больше или равно
print(x <= y) # Меньше или равно

Переменные и типы данных

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

В Python есть несколько типов данных, которые мы можем использовать в нашей программе. Некоторые из них:

  • Числа (int, float, complex)

x = 10 # int
y = 3.14 # float
z = 5 + 2j # complex

  • Строки (str)

a = «Hello World!» # str

  • Списки (list)

fruits = [«apple», «banana», «cherry»]
print(fruits[1]) # banana

  • Кортежи (tuple)

fruits = («apple», «banana», «cherry»)
print(fruits[2]) # cherry

  • Словари (dict)

person = {«name»: «John», «age»: 36}
print(person[«name»]) # John

  • Множества (set)

fruits = {«apple», «banana», «cherry»}
print(«banana» in fruits) # True

Базовые функции

Python имеет множество встроенных функций, которые упрощают написание кода и решение задач. Рассмотрим некоторые из них:

  • print() — выводит данные на экран

print(«Hello World!») # Hello World!

  • len() — возвращает длину объекта

fruits = [«apple», «banana», «cherry»]
print(len(fruits)) # 3

  • type() — возвращает тип объекта

x = 10
print(type(x)) # <class ‘int’>

  • range() — генерирует последовательность чисел

for i in range(5):
print(i) # 0 1 2 3 4

Операторы условия

Операторы условия используются для принятия решений в программе на основе определенных условий. В Python есть несколько операторов условия, таких как if, else и elif. Рассмотрим пример:

x = 10
y = 5
if x > y:
print(«x is greater than y»)
else:
print(«y is greater than x»)

Этот код сравнивает два числа x и y и выводит сообщение, указывающее, какое из них больше.

Циклы

Циклы позволяют выполнять определенный блок кода несколько раз. В Python есть два основных типа циклов: цикл for и цикл while. Рассмотрим пример:

fruits = [«apple», «banana», «cherry»]
for fruit in fruits:
print(fruit)

Этот код выводит на экран все элементы списка fruits.

Заключение

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

Чтобы успешно использовать любой язык программирования, нам необходимо освоить два навыка:

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

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

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

Вы быстро выучите «словарь» и научитесь составлять «предложения» на языке Python. Для получения навыка написания грамотных программ понадобится гораздо больше времени. Изучение программирования похоже на изучения письма. Мы начнем с чтения и объяснения программ, потом мы попытаемся писать простые программы, потом мы начнем писать все более сложные программы. В какой-то момент мы увидите шаблоны и приемы для создания программ, после чего вы сможете самостоятельно решать поставленные перед вами задачи путем написания программ на языке программирования. Как только вы научитесь решать поставленные задачи, программирования превратится в очень занимательный и творческий процесс.

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

В отличие от человеческого языка, словарь Python очень мал. В языках программирования словарь называют «зарезервированными словами» или «ключевыми словами» (reserved words или keywords). Когда Python видит эти слова, для него они имеют только одно значение. Позже, когда вы будете писать программы, вы будете создавать свои слова, которые будут называться переменными (variables). Правильно подобрать название переменной — не такая простая задача как кажется, но вы не сможете использовать зарезервированные слова в качестве названия переменных.

Список зарезервированных слов в Python выглядит следующим образом:

False

class

from

or

None

continue

global

pass

True

def

if

raise

and

del

import

return

as

elif

in

try

assert

else

is

while

async

except

lambda

with

await

finally

nonlocal

yield

break

for

not

Мы постепенно будем изучать, что значат те или иные слова, но сейчас мы сосредоточимся на возможности «разговаривать»

Итак, мы написали наше первое корректное предложение на языке Python. Наше предложение начинается со слова print, после которого идет строка текста в кавычках, заключенная в скобки.

Значения (values) являются одними из базовых вещей, с которыми работает программа. Значения — это данные, которыми оперирует программа. Например, это цифры 1, 2 или текстовая строка "Hello, world!".

Значения принадлежат к разным типам данных (data type): 2 — это целое число (integer), «Hello, world!» это строка (string). Python понимает что это текстовая строка, потому что она заключена в кавычки.

Python может выполнить команду print и с целым числом.

Если вы не уверены, какой тип имеет значение, вы можете вызвать команду type, чтобы Python вам подсказал

Мы уже знакомы с типом string и с типом integer, но новым типом для нас является тип float — сокращение от floating point (число с плавающей точкой).

А что, если мы попробуем узнать тип следующих значений «17» или «3.2» ?

Они являются строками, так как заключены в кавычки.

Одной из самых мощных «фишек» языков программирования является возможность манипулировать переменными (variable). Переменная ссылается на определенное значение в памяти.

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

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

Для задания переменной значения используется инструкция присвоения = (assignment statement). Используем инструкцию присвоения для создания новой переменной и присвоения ей значения:

При попытке создать переменную с именем class, Python выдаст ошибку.

SyntaxError: invalid syntax

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

Мы можем вывести на экран значения созданных нами переменных с помощью функцииprint()

С помощью команды type мы можем вывести на экран тип переменной. В Python тип переменной зависит от того, на данные какого типа переменная ссылается.

Как правило, программисты выбирают осмысленные имена переменных. Хорошее название переменной должно «документировать себя» — отражать содержимое и назначение переменной.

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

Если переменная состоит из нескольких слов, в Python принято каждое слово отделять нижним подчеркиванием (_), например: max_speed или word_length. Имена переменной может начинаться с нижнего подчеркивания, но такие переменные имеют специальное предназначение и мы рассмотрим это позже.

SyntaxError: invalid syntax

SyntaxError: invalid syntax

Из примера мы видим, что переменная 4dudes является некорректной, так как она начинается с цифры, переменная var@ также является некорректной, так как содержит символ @, который не является символом алфавита или цифрой.

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

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

Python выполняет инструкции путем вычисления выражений одно за одним, после чего Python применяет операции к этим выражениям.

Присвоение значения переменной является инструкцией!

Выражение (expression) — это комбинация из значений, переменных и операторов.

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

>>> x = 20 # Это statement

>>> x # Это тоже выражение

>>> x + 17 # Вычисляется значение выражения

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

Python вычисляет значение выражения путем вычисления значений под-выражений, а потом применяет операции к этим под-выражениям.

Вызов функции в Python является выражением. Результатом выражения является возвращаемое значение функции. Если функция не предусматривает зн

Вызов функции в Python является выражением.

Операторы (operator) — специальные символы, которые выполняют вычисления, например, сложение или умножение. Значения, к которым применяется оператор называются операндами.

Давайте рассмотрим арифметические операторы в Python и какие вычисления они выполняют

Оператор

Значение

+

сложение

вычитание

*

умножение

/

деление

//

целочисленное деление

**

возведение в степень

%

деление по модулю (взятие остатка от деления)

Нам следует остановиться на операциях деления и целочисленного деления. Зачем нужны две операции деления?

Дело в том, что в различных языках программирования операция деления может вести себя по-разному. Например, в языке программирования C результатом деления целого числа на целое число будет целое число. Если при делении возникнет остаток, он будет отброшен — число округлится до ближайшего меньшего целого. Например

Выдаст результат равный 0. Из общего понимания математики мы ожидали увидеть ответ равным 0.5, но это дробное число — тип float. Так как в языке C деление целого числа на целое число даст целое число, дробная часть будет отброшена и в результате мы получим 0.

Если мы хотим получить корректный ответ, мы должны один из операндов сделать числом с плавающей точкой. Тогда, по правилам языка C, если один из операндов будет float, то результат операции также будет float. Код

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

Если же мы хотим, чтобы Python повел себя как язык C, мы можем воспользоваться оператором целочисленного деления. Тогда результатом деления одного целого числа на второе целое число будет целое число.

Порядок операций в выражении

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

  • Parentheses (скобки) имеют наивысший приоритет, с помощью скобок вы можете точно выстроить нужный порядок вычисления выражений;

  • Exponentiation (возведение в степень) имеет следующий по приоритету порядок. Например, выражение 2**1+1 будет равно 3, а не 4;

  • Multiplication (умножение) и Division (деление) имеют одинаковый приоритет. Такой же приоритет имеет операция деления по модулю (Modulo);

  • Наименьший приоритет имеют Addition (сложение) и Subtraction (вычитание);

  • операторы с одинаковым приоритетом выполняются слева направо.

Оператор деления по модулю (Modulo)

Оператор деления по модулю используются с двумя целочисленными операндами и возвращает остаток от деления первого операнда на второй.

Оператор деления по модулю бывает очень полезен в некоторых ситуациях. Например, вы можете узнать — делится ли одно число нацело на второе (остаток от деления будет 0) или получить крайне правые цифры в числе (например, выражение x % 10 вернет единицы, выражение x % 100 вернет две правые цифры числа).

Арифметические операции со строками

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

конкатенация (сложение) строк. Оба операнда должны быть строками

повторение строк. Первый операнд — строка, второй операнд — целое число.

форматирование строк (будет рассмотрено в отдельной теме)

Операция конкатенации используется для «склеивания» строк. Оба операнда выражения должны быть строкой, в противном случае Python выдаст ошибку

Traceback (most recent call last):

File «<stdin>», line 1, in <module>

TypeError: can only concatenate str (not «int») to str

Операция повторения позволяет создать новую строку, которая будет повторенной несколько раз исходной строкой

Traceback (most recent call last):

File «<stdin>», line 1, in <module>

TypeError: can‘t multiply sequence by non-int of type ‘float

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

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

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

Python предоставляет встроенную функцию (потом мы разберем, что это такое) под названием input(). После выполнения statement, который содержит функцию input(), Python приостанавливает выполнение программы и ждет ввода пользователя с клавиатуры. Когда пользователь введет нужные данные и нажмет Enter, программа продолжит свою работу

Обратите внимание, что после названия функции input() мы указываем пустые скобки — это синтаксис вызова функции.

Функции в Python возвращают значение. Функция input() возвращает строку с тем, что ввел пользователь. На видео выше мы видим, что мы ввели текст user input, после чего функция input() вернула user input, но это просто выражение в виде строки user input, которое просто выводится на экран, так как мы находимся в интерактивном режиме. Если мы напишем программу и запустим ее в среде разработки, ничего не произойдет.

Чтобы работать со входными данными, мы должны сохранить наш ввод. Это мы можем сделать с помощью переменной — мы сохраним пользовательский ввод как значение переменной.

print («Вы ввели « + my_input)

Работа программы будет выглядеть следующим образом

Давайте внимательно разберем statement

  1. 1.

    Вызывается функция input();

  2. 2.

    Приложение приостанавливается и ждет, пока пользователь введет текст;

  3. 3.

    Функция input() возвращает значение — пользовательский текст в виде строки;

  4. 4.

    Создается переменная my_input;

  5. 5.

    Выполняется оператор присвоения;

  6. 6.

    Переменная my_input теперь имеет тип строка.

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

Разберем вызов функции print()

print («Вы ввели « + my_input)

Вычисляется выражение «Вы ввели» + my_input. Мы уже знаем, что это операция конкатенации строк. Вычисленное выражение передается функции print(), которая выводит в консоль склеенную строку.

Понравилась статья? Поделить с друзьями:
  • Контур профи удобрение инструкция по применению
  • Микроген бифидумбактерин 5 доз инструкция по применению для детей
  • Утюг бош sensixx x d190 инструкция по применению
  • Детское кресло zlatek инструкция по сборке после стирки
  • Как подключить сбербанк онлайн в банкомате инструкция