python for beginners что это
Основы языка программирования Python за 10 минут
На сайте Poromenos’ Stuff была
опубликована статья, в которой, в сжатой форме,
рассказывают об основах языка Python. Я предлагаю вам перевод этой статьи. Перевод не дословный. Я постарался подробнее объяснить некоторые моменты, которые могут быть непонятны.
Если вы собрались изучать язык Python, но не можете найти подходящего руководства, то эта
статья вам очень пригодится! За короткое время, вы сможете познакомиться с
основами языка Python. Хотя эта статья часто опирается
на то, что вы уже имеете опыт программирования, но, я надеюсь, даже новичкам
этот материал будет полезен. Внимательно прочитайте каждый параграф. В связи с
сжатостью материала, некоторые темы рассмотрены поверхностно, но содержат весь
необходимый метриал.
Основные свойства
Python не требует явного объявления переменных, является регистро-зависим (переменная var не эквивалентна переменной Var или VAR — это три разные переменные) объектно-ориентированным языком.
Синтаксис
Во первых стоит отметить интересную особенность Python. Он не содержит операторных скобок (begin..end в pascal или <..>в Си), вместо этого блоки выделяются отступами: пробелами или табуляцией, а вход в блок из операторов осуществляется двоеточием. Однострочные комментарии начинаются со знака фунта «#», многострочные — начинаются и заканчиваются тремя двойными кавычками «»»»».
Чтобы присвоить значение пременной используется знак «=», а для сравнения —
«==». Для увеличения значения переменной, или добавления к строке используется оператор «+=», а для уменьшения — «-=». Все эти операции могут взаимодействовать с большинством типов, в том числе со строками. Например
Структуры данных
Вы можете использовать часть массива, задавая первый и последний индекс через двоеточие «:». В таком случае вы получите часть массива, от первого индекса до второго не включительно. Если не указан первый элемент, то отсчет начинается с начала массива, а если не указан последний — то масив считывается до последнего элемента. Отрицательные значения определяют положение элемента с конца. Например:
Строки
Строки в Python обособляются кавычками двойными «»» или одинарными «’». Внутри двойных ковычек могут присутствовать одинарные или наоборот. К примеру строка «Он сказал ‘привет’!» будет выведена на экран как «Он сказал ‘привет’!». Если нужно использовать строку из несколько строчек, то эту строку надо начинать и заканчивать тремя двойными кавычками «»»»». Вы можете подставить в шаблон строки элементы из кортежа или словаря. Знак процента «%» между строкой и кортежем, заменяет в строке символы «%s» на элемент кортежа. Словари позволяют вставлять в строку элемент под заданным индексом. Для этого надо использовать в строке конструкцию «%(индекс)s». В этом случае вместо «%(индекс)s» будет подставлено значение словаря под заданным индексом.
Операторы
Операторы while, if, for составляют операторы перемещения. Здесь нет аналога оператора select, так что придется обходиться if. В операторе for происходит сравнение переменной и списка. Чтобы получить список цифр до числа — используйте функцию range( ). Вот пример использования операторов
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 f(x): return x + 1
functionvar = lambda x: x + 1
>>> print functionvar( 1 )
2
Классы
Язык Python ограничен в множественном наследовании в классах. Внутренние переменные и внутренние методы классов начинаются с двух знаков нижнего подчеркивания «__» (например «__myprivatevar»). Мы можем также присвоить значение переменной класса извне. Пример:
Исключения
Исключения в Python имеют структуру try—except [exceptionname]:
def somefunction():
try :
# Деление на ноль вызывает ошибку
10 / 0
except ZeroDivisionError :
# Но программа не «Выполняет недопустимую операцию»
# А обрабатывает блок исключения соответствующий ошибке «ZeroDivisionError»
print «Oops, invalid.»
Импорт
Внешние библиотеки можно подключить процедурой «import [libname]», где [libname] — название подключаемой библиотеки. Вы так же можете использовать команду «from [libname] import [funcname]», чтобы вы могли использовать функцию [funcname] из библиотеки [libname]
import random #Импортируем библиотеку «random»
from time import clock #И заодно функцию «clock» из библиотеки «time»
Работа с файловой системой
Python имеет много встроенных библиотек. В этом примере мы попробуем сохранить в бинарном файле структуру списка, прочитать ее и сохраним строку в текстовом файле. Для преобразования структуры данных мы будем использовать стандартную библиотеку «pickle»
myfile = file (r «C:\text.txt» )
>>> print myfile.read()
‘This is a sample string’
myfile.close()
Особенности
def myfunc():
# Выводит 5
print number
def anotherfunc():
# Это вызывает исключение, поскольку глобальная апеременная
# не была вызванна из функции. Python в этом случае создает
# одноименную переменную внутри этой функции и доступную
# только для операторов этой функции.
print number
number = 3
def yetanotherfunc():
global number
# И только из этой функции значение переменной изменяется.
number = 3
Эпилог
Разумеется в этой статье не описываются все возможности Python. Я надеюсь что эта статья поможет вам, если вы захотите и в дальнейшем изучать этот язык программирования.
Преимущества Python
Введение в Python
В данной статье мы затронем основы Python. Мы все ближе и ближе к цели, в общем, скоро приступим к работе с основными библиотеками для Data Science и будем использовать TensorFlow (для написания и развертывания нейросетей, тобишь Deep Learning).
Установка
Python можно скачать с python.org. Однако если он еще не установлен, то вместо
него рекомендую дистрибутивный пакет Anaconda, который уже включает в себя большинство библиотек, необходимых для работы в области науки о данных.
Если вы не используете дистрибутив Anaconda, то не забудьте установить менеджер пакетов pip, позволяющий легко устанавливать сторонние пакеты, поскольку некоторые из них нам понадобятся. Стоит также установить намного более удобную для работы интерактивную оболочку IPython. Следует учитывать, что дистрибутив Anaconda идет вместе с pip и IPython.
Пробельные символы
Во многих языках программирования для разграничения блоков кода используются
фигурные скобки. В Python используются отступы:
Это делает код легко читаемым, но в то же время заставляет следить за форматированием. Пробел внутри круглых и квадратных скобок игнорируется, что облегчает написание многословных выражений:
и легко читаемого кода:
Для продолжения оператора на следующей строке используется обратная косая черта, впрочем, такая запись будет применяться редко:
В следствие форматирования кода пробельными символами возникают трудности при копировании и вставке кода в оболочку Python. Например, попытка скопировать следующий код:
в стандартную оболочку Python вызовет ошибку:
потому что для интерпретатора пустая строка свидетельствует об окончании блока кода с циклом for.
Оболочка IPython располагает «волшебной» функцией %paste, которая правильно вставляет все то, что находится в буфере обмена, включая пробельные символы.
Модули (Импортирование библиотек)
Некоторые библиотеки среды программирования на основе Python не загружаются по умолчанию. Для того чтобы эти инструменты можно было использовать, необходимо импортировать модули, которые их содержат.
Один из подходов заключается в том, чтобы просто импортировать сам модуль:
Здесь re — это название модуля, содержащего функции и константы для’ работы с регулярными выражениями. Импортировав таким способом весь модуль, можно обращаться к функциям, предваряя их префиксом re.
Если в коде переменная с именем re уже есть, то можно воспользоваться псевдонимом модуля:
Псевдоним используют также в тех случаях, когда импортируемый модуль имеет громоздкое имя или когда в коде происходит частое обращение к модулю.
Например, при визуализации данных на основе модуля matplotlib для него обычно
используют следующий стандартный псевдоним:
Если из модуля нужно получить несколько конкретных значений, то их можно импортировать в явном виде и использовать без ограничений:
Функции
Функция — это правило, принимающее ноль или несколько входящих аргументов и возвращающее соответствующий результат. В Python функции обычно определяются при помощи оператора def:
Функции в Python рассматриваются как объекты первого класса. Это означает, что их можно присваивать переменным и передавать в другие функции так же, как любые другие аргументы:
Кроме того, можно легко создавать короткие анонимные функции или лямбда выражения:
Лямбда-выражения можно присваивать переменным. Однако рекомендуют пользоваться оператором def:
Параметрам функции, помимо этого, можно передавать аргументы по умолчанию, которые следует указывать только тогда, когда ожидается значение, отличающееся от значения по умолчанию:
Иногда целесообразно указывать аргументы по имени:
В дальнейшем функции будут использоваться очень часто.
Строки
Символьные строки (или последовательности символов) с обеих сторон ограничиваются одинарными или двойными кавычками (они должны совпадать):
Обратная косая черта используется для кодирования специальных символов. Например:
Если требуется непосредственно сама обратная косая черта, которая встречается
в именах каталогов в операционной системе Windows, то при помощи r ‘»‘ можно создать неформатированную строку:
Многострочные блоки текста создаются при помощи тройных одинарных (или
двойных) кавычек:
Исключения
Когда что-то идет не так, Python вызывает исключение. Необработанные исключения приводят к непредвиденной остановке программы. Исключения обрабатываются при помощи операторов try и except:
Хотя во многих языках программирования использование исключений считается плохим стилем программирования, в Python нет ничего страшного, если он используется с целью сделать код чище, и мы будем иногда поступать именно так.
Списки
Наверное, наиважнейшей структурой данных в Python является список. Это просто упорядоченная совокупность (или коллекция), похожая на массив в других языках программирования, но с дополнительными функциональными возможностями.
Устанавливать значение и получать доступ к n-му элементу списка можно при помощи квадратных скобок:
Помимо этого, квадратные скобки применяются для «нарезки» списков:
В Python имеется оператор ln, который проверяет принадлежность элемента списку:
Проверка заключается в поочередном просмотре всех элементов, поэтому пользоваться им стоит только тогда, когда точно известно, что список небольшой или неважно, сколько времени уйдет на проверку.
Списки легко сцеплять друг с другом:
Если нужно оставить список х без изменений, то можно воспользоваться сложением списков:
Обычно к спискам добавляют по одному элементу за одну операцию:
Нередко бывает удобно распаковать список, если известно, сколько элементов в нем содержится:
Если с обеих сторон выражения число элементов не одинаково, то будет выдано сообщение об ошибке ValueError.
Для отбрасываемого значения обычно используется символ подчеркивания:
Кортежи
Кортежи — это неизменяемые (или иммутабельные) двоюродные братья списков.
Практически все, что можно делать со списком, не внося в него изменения, можно делать и с кортежем. Вместо квадратных скобок кортеж оформляют круглымискобками, или вообще обходятся без них:
Кортежи обеспечивают удобный способ для возвращения из функций нескольких значений:
Кортежи (и списки) также используются во множественном присваивании:
Словари
Словарь или ассоциативный список — это еще одна основная структура данных.
В нем значения связаны с ключами, что позволяет быстро извлекать значение, соответствующее конкретному ключу:
Доступ к значению по ключу можно получить при помощи квадратных скобок:
При попытке запросить значение, которое в словаре отсутствует, будет выдано сообщение об ошибке KeyError:
Проверить наличие ключа можно при помощи оператора in:
Словари имеют метод get(), который при поиске отсутствующего ключа вместо вызова исключения возвращает значение по умолчанию:
Присваивание значения по ключу выполняется при помощи тех же квадратных скобок:
Словари часто используются в качестве простого способа представить структурные
данные:
Помимо поиска отдельных ключей можно обратиться ко всем сразу:
Ключи должны быть неизменяемыми; в частности, в качестве ключей нельзя использовать списки. Если нужен составной ключ, то лучше воспользоваться кортежем или же найти способ, как преобразовать ключ в строку.
Словарь defaultdict
Пусть в документе необходимо подсчитать слова. Очевидным решением задачи является создание словаря, в котором ключи — это слова, а значения — частотности слов (или количества вхождений слов в текст). Во время проверки слов в случае, если текущее слово уже есть в словаре, то его частотность увеличивается, а если отсутствует, то оно добавляется в словарь:
Кроме этого, можно воспользоваться nриемом под названием «лучше просить прощения, чем разрешения» и перехватывать ошибку при попытке обратиться к отсутствующему ключу:
Третий прием — использовать метод get(), который изящно выходит из ситуации с отсутствующими ключами:
Все перечисленные приемы немного громоздкие, и по этой причине целесообразно использовать словарь defaultdict (который еще называют словарем со: значением по умолчанию). Он похож на обычный словарь за исключением одной особенности — при попытке обратиться к ключу, которого в нем нет, он сперва добавляет для него значение, используя функцию без аргументов, которая предоставляется при его создании. Чтобы воспользоваться словарями defaultdict, их необходимо импортировать из модуля collections:
Кроме того, использование словарей defaultdict имеет практическую пользу во время работы со списками, словарями и даже с пользовательскими функциями:
Эти возможности понадобятся, когда словари будут использоваться для «сбора»
результатов по некоторому ключу и когда необходимо избежать повторяющихся
проверок на присутствие ключа в словаре.
Словарь Counter
Подкласс словарей counter трансформирует последовательность значений в похожий на словарь defaultdict(int) объект, где ключам поставлены в соответствие частотности или, выражаясь более точно, ключи отображаются (map) в частотности.
Он в основном будет применяться при создании гистограмм:
Его функционал позволяет достаточно легко решить задачу подсчета частотностей слов:
Словарь counter располагает методом most_common( ), который нередко бывает полезен:
Множества
Структура данных set или множество представляет собой совокупность неупорядоченных элементов без повторов:
Множества будут использоваться по двум причинам. Во-первых, операция in на множествах очень быстрая. Если необходимо проверить большую совокупность элементов на принадлежность некоторой последовательности, то структура данных set подходит для этого лучше, чем список:
Вторая причина — получение уникальных элементов в наборе данных:
Множества будут применяться намного реже словарей и списков.
Управляющие конструкции
Как и в большинстве других языков программирования, действия можно выполнять по условию, применяя оператор if:
Кроме того, можно воспользоваться однострочным трехместным оператором if-then-else, который будет иногда использоваться в дальнейшем:
В Python имеется цикл whlle:
Однако чаще будет использоваться цикл for совместно с оператором in:
Если требуется более сложная логика управления циклом, то можно воспользоваться операторами
В результате будет напечатано 0, 1, 2 и 4.
Истинность
Булевы переменные в Python работают так же, как и в большинстве других языков программирования лишь с одним исключением — они пишутся с заглавной буквы:
Для обозначения несуществующего значения применяется специальный объект None, который соответствует значению null в других языках:
В Python может использоваться любое значение там, где ожидается логический тип Boolean. Все следующие элементы имеют логическое значение False:
Вот более простой способ сделать то же самое:
поскольку логический оператор and возвращает второе значение, в случае если первое истинное, и первое значение, в случае если оно ложное. Аналогичным образом, если х в следующем ниже выражении является либо числом, либо, возможно, None, то результат так или иначе будет числом:
Встроенная функция all языка Python берет список и возвращает True только тогда, когда каждый элемент списка истинен, а встроенная функция any возвращает тrue, когда истинен хотя бы один элемент:
Python с абсолютного нуля. Учимся кодить без скучных книжек
Содержание статьи
От редакции
Недавно мы проводили опрос о том, какой курс по Python был бы интереснее читателям. Две первые строчки с большим отрывом в нем заняли варианты «для хакера» и «Python с нуля». Узнав о таком положении дел, мы немедленно заказали статью о том, как начать программировать на Python. Если она будет иметь успех, то может превратиться в целую серию. Отличие нашего подхода — в том, что мы объясняем все живым языком и даем нескучные примеры. В общем, обучение в фирменном стиле «Хакера»!
И, поскольку это эксперимент, статья доступна без платной подписки.
Если у тебя на компе есть современный дистрибутив Linux, то в него уже входит Python 3, а писать первые программы будет удобно в IDLE — простом редакторе кода, который прилагается к Python. В Ubuntu, чтобы установить его, набери в консоли
В Windows при установке Python обязательно отметь на первом экране установщика галочку Add to Path, чтобы можно было запускать python3 из командной строки в любом удобном месте.
Запустив IDLE, зайди в Options → Configure IDLE, перейди на вкладку General и поставь галочку на пункте Open Edit Window, нажми ОK и перезапусти IDLE. Теперь можно писать программы, сохранять их и запускать клавишей F5. Ну что, погнали?
Переменные
А если изначально неизвестно, какие числа надо складывать? Тогда пришлось бы сперва попросить юзера ввести их в консоли и нажать Enter. Давай так и сделаем:
Внутри скобочек у input ты пишешь пояснение для юзера, что конкретно его просят ввести. Но вот беда, по умолчанию все, что вводится через input, считается не числом, а строкой, поэтому, прежде чем складывать количество литров пива, нужно сначала преобразовать введенные строки в числа с помощью функции int().
Вообще, типов переменных много, но суть ты уловил — чтобы производить с переменными какие‑то действия, нужно их сначала привести к одному типу — к строковому, или к числовому, или еще к какому‑нибудь. Если с этим не заморачиваться, Python сложит не числа, а строки и введенные 2 и 3 литра пива в сумме дадут не 5, а целых 23. Хорошо бы так было в реальности!
Вот еще примерчик, рассчитывающий, сколько тебе еще пить пиво, исходя из средней продолжительности жизни в России:
Условия
В основе любой программы лежат условия. В зависимости от того, выполняются они или не выполняются, программа может пойти по одному или другому пути. Представь, ты едешь на машине и смотришь на часы: если уже есть десять вечера, то поворачиваешь домой, если нет, то можно заехать в гости. Точно так же работает и программа: проверяет какое‑то значение и сворачивает туда или сюда и выполняет соответствующий кусочек кода.
Блоки кода в Python отделаются отступами. Отступ на самом деле может быть любым, например некоторые предпочитают использовать вместо четырех пробелов клавишу Tab. Главное — не смешивать в одной программе отступы разного типа. Если уж начал использовать четыре пробела, то используй по всей программе, а то Python будет на тебя ругаться и унижать.
Еще один важный момент здесь — это знак равенства в условии. Он пишется как двойное «равно» ( == ) и этим отличается от присвоения — одинарного «равно».
Функция lower(), прежде чем сравнивать условие, делает все буквы в строке маленькими, потому что глупый юзер может ввести слово YES с горящим Caps Lock, и это надо предусмотреть заранее.
На самом деле lower( ) — не просто функция, а метод класса string (строка). Именно поэтому он вызывается через точку после переменной, которая содержит строку. О классах и методах мы поговорим как‑нибудь в другой раз, а пока просто запомни, что некоторые функции вызываются таким образом.
Учебник по Python для абсолютных новичков
Python-один из наиболее широко используемых языков. Будь то веб-разработка, машинное обучение и искусственный интеллект или даже программирование микроконтроллеров, Python нашел свое место практически везде.
Эта статья представляет собой краткое введение в Python для начинающих. Эта статья предназначена для абсолютных новичков, не имеющих никакого предыдущего опыта работы на Python, хотя
Я обнаружил, что лучший способ научиться-это попытаться понять теорию, а затем реализовать пример самостоятельно. Помните, что вы не станете лучше в программировании, если не будете практиковать его!
Статья разделена на следующие разделы:
Зачем изучать Python
Здесь возникает вопрос, почему вы должны изучать Python. Существует множество других языков программирования; возможно, вы даже изучили некоторые из них. Тогда почему Python, что в нем такого особенного? Существуют различные причины для изучения Python, наиболее важные из которых были перечислены ниже.
Идеально подходит для веб-разработки
Python молниеносно работает по сравнению с другими языками веб-разработки, такими как PHP и ASP.NET. Кроме того, Python имеет множество удивительных фреймворков, таких как
и Pylons, что делает веб-разработку еще проще. Такие сайты, как Instagram, Pinterest и The Guardian, основаны на популярном фреймворке Django. Широко используется для машинного обучения и искусственного интеллекта Python является наиболее широко используемым языком для машинного обучения и операций искусственного интеллекта. Библиотеки Python, такие как TensorFlow и scikit-learn, значительно упрощают задачи ИИ по сравнению с MATLAB или R, которые ранее были наиболее широко используемой средой для задач науки о данных и ИИ.
Работает с Raspberry Pi
Python-самый популярный язык программирования для Raspberry Pi, который представляет собой карманный микрокомпьютер, используемый в широком спектре приложений, таких как роботы, игровые консоли, игрушки. Короче говоря, изучите Python, если вы хотите создавать вещи с помощью Raspberry Pi.
Не будет преувеличением сказать, что Python является любимцем всех крупных корпоративных компаний, таких как Google, yahoo, NASA, Disney, IBM и т. Д. Эти компании включили Python в ядро многих своих приложений.
Python имеет одно из крупнейших сообществ программирования в Интернете, и оно продолжает расти. Python имеет пятое по величине сообщество переполнения стека и третье по величине сообщество meetup. И самое главное, это 4-й по популярности язык на GitHub, а это значит, что есть тонны существующего кода, на котором можно учиться.
Установка и настройка
Прокрутите немного вниз, и вы увидите параметры загрузки. Выберите, Python 3.6, как показано на следующем скриншоте:
Это позволит загрузить установщик Anaconda на ваш компьютер. Откройте установщик, и вы увидите следующие параметры:
Для установки выполните следующие действия
Теперь сядьте и выпейте кофе, установка может занять некоторое время.
После завершения установки вы увидите следующее сообщение:
Нажмите кнопку “Далее”, а затем кнопку “Готово” в последующем диалоговом окне, чтобы завершить установку.
Запуск вашей Первой программы
Чтобы открыть Jupiter, вы можете перейти в меню Пуск и найти приложение “Jupyter Notebook”. Вы также можете искать его в приложениях. Это показано на следующем рисунке:
Откройте приложение “Jupyter Notebook”. Затем он будет открыт в вашем браузере по умолчанию. Для совместимости я бы рекомендовал вам использовать Google Chrome в качестве браузера по умолчанию, но другие типы браузеров, такие как Firefox, также будут работать.
Когда приложение откроется в вашем браузере, вы увидите следующую страницу:
В правой части страницы вы увидите опцию “Новый”. Нажмите кнопку Thatbutton, и появится выпадающий список. Выберите” Python 3″ из выпадающего списка. Это откроет для вас совершенно новый блокнот, который выглядит следующим образом:
Здесь вы можете легко писать, сохранять и делиться своим кодом Python.
Давайте проверим и убедимся, что все работает нормально. Для этого мы создадим простую программу, которая выведет строку на экран.
Введите следующий код в текстовое поле вашего блокнота Jupyter (показано на скриншоте выше):
Чтобы запустить код в “Jupyter Notebook”, просто нажмите “Ctrl + Enter”. Вывод вышеприведенного кода должен выглядеть следующим образом:
И вот, пожалуйста, мы успешно выполнили нашу первую программу на Python! В следующих разделах мы продолжим использовать Jupiter для обучения и обсуждения некоторых основных функций Python, начиная с переменных.
Переменные Python
Проще говоря, переменные-это ячейки памяти, в которых хранятся некоторые данные. Вы можете использовать переменные для хранения значения, будь то число, текст или логическое значение (true/false). Когда вам нужно будет использовать это значение позже в вашем коде, вы можете просто использовать переменную, которая содержит это значение. Вы можете почти думать о них как о простых контейнерах, которые хранят вещи для вас для последующего использования.
В Python существует пять различных основных типов данных:
Числа
Числовой тип переменных хранит числовые данные. Взгляните на следующий простой пример:
Результат будет следующим:
В Python существует четыре различных типа числовых данных:
Строки
Строки используются для хранения текстовых данных в Python. Взгляните на следующий пример:
Результат выглядит следующим образом:
В Python существуют сотни строковых операций, и в будущем у нас будет специальная статья об этих функциях.
Операторы в Python
Операторы в программировании-это конструкции, которые позволяют манипулировать операндом для выполнения определенной функции. Они очень похожи на реальные операторы, такие как арифметические операторы, например сложение, вычитание, больше, меньше, и/ИЛИ операторы и т. Д.
В Python существует семь типов операторов:
В этой статье мы будем держать его простым и изучим только первые четыре оператора. Другие операторы выходят за рамки данной статьи.
Арифметические операторы
Арифметические операторы выполняют математические операции, такие как сложение, вычитание, умножение, деление и экспоненциальные функции над операндами. Подробные сведения об арифметических функциях приведены в следующей таблице:
Предположим, что переменные n1 и n2 имеют значения 4 и 2 соответственно.
n1 + | Дополнение (+) | Добавляет два или более операндов |
n1 – | Вычитание (-) | Вычитает второй операнд из первого |
n1 * | Умножение (*) | Умножьте два или более операндов |
n1 / | Деление (/) | Разделите первый операнд на второй |
n1 % | Модуль (%) | Находит остаток, когда первый операнд делится на второй |
n1 ** | Экспонента (**) | Переводит силу первого операнда во второй |
Возможно, вы помните, что видели пример оператора арифметического сложения ранее в разделе Числовых переменных данных. В Python операторы сложения могут применяться к любому виду чисел и даже к строкам.
Логические операторы
Предполагать o1 и o2 иметь ценности Правда и Ложный соответственно.
(o1 и o2) ложно | И | Возвращает true из всех условий true |
(o1 или o2) истинно | ОПЕРАЦИОННАЯ | Возвращает true, если какое-либо из условий истинно |
Not(o1) является ложным | НЕ | Возврат обратного фактического логического состояния |
Следующий код помогает объяснить вышеприведенные операторы на примере:
Вывод приведенного выше кода выглядит следующим образом:
Операторы присваивания
Операторы присваивания позволяют “давать” значение переменным, которые могут быть результатом операции. В следующей таблице приведены некоторые из наиболее широко используемых операторов присваивания в Python:
Назначать | Присвойте значение справа переменной слева | |
n1 – это то же самое, что и + n2 | Добавление и назначение | Добавляет оба операнда и присваивает результат переменной слева |
n1 означает – n2 | Вычитание и присвоение | Вычитает правый операнд из левого и назначит результат левому |
n1 означает * n2 | Умножить и присвоить | Умножает оба операнда и присваивает результат левому |
n1 означает / n2 | Разделите и назначьте | Делит оба операнда и присваивает результат левому |
n1 означает % n2 | Модуль и назначение | Возьмите модуль, разделив левый операнд на правый, и назначьте результат левому |
n1 означает ** n2 | Экспонента и присвоение | Возьмите показатель степени правого операнда влево и назначьте значение влево |
Взгляните на следующий пример, чтобы увидеть некоторые операторы присваивания в действии:
Вывод вышеприведенного кода будет следующим:
Обратите внимание, что в последней операции мы получаем число с плавающей запятой в качестве результата, тогда как во всех операциях prevoius мы получаем целые числа. Это потому, что это единственная математическая операция в нашем примере, которая может превратить два целых числа в число с плавающей запятой.
Операторы сравнения
Операторы сравнения используются для сравнения двух или более операндов. Python поддерживает следующие операторы сравнения:
Предполагать n1 это 10 и n2 это 5 в следующей таблице.
(n1) не соответствует действительности | == | Возвращает True, если два операнда равны друг другу |
(n1) истинно | != | Возвращает true, если два операнда не равны |
(n1 > n2) истинно | > | Возвращает true, если левый операнд больше правого |
(n1 = | Возвращает true, если левый операнд равен или больше правого операнда | |
(n1 =Условные операторыУсловные операторы используются для выбора блока кода, который вы хотите выполнить на основе определенного условия. Предположим, что в системе управления больницей вы хотите внедрить проверку того, что пациент старше 65 лет может получать приоритетное лечение, в то время как другие не могут, вы можете сделать это с помощью условных утверждений. Существует четыре типа условных операторов: В принципе, второй и третий типы являются просто расширениями первого типа оператора. Оператор If“Оператор if” является самым простым из всех операторов. Если данное условие разрешается в true (например, 1 ), то выполняется блок кода, следующий за оператором “if”. Если условие возвращает false (например, 1 > 10 ), то код не выполняется. Взгляните на следующий пример. Обратите пристальное внимание на синтаксис условных операторов. В большинстве других языков программирования блок кода, который должен быть выполнен, если условие “if” возвращает true, заключен в квадратные скобки. Здесь, в Python, вы должны использовать двоеточие после условия “if”, а затем вы должны отступить код, который вы хотите выполнить, если условие возвращает true. Python широко считается гораздо более чистым языком, чем многие другие, из-за отсутствия скобок. Вместо этого отступ используется для указания области действия, которая имеет свои плюсы и минусы. В приведенном выше примере мы имеем переменную age со значением 67. Мы проверяем, превышает ли возраст 65 лет, и если это условие возвращает true, то мы печатаем сообщение о том, что пользователь имеет право на приоритетное лечение. Обратите внимание, что это сообщение имеет отступ, который говорит нам, что это код, который должен быть выполнен после истинного условия. Наконец, мы просто печатаем благодарственное сообщение на экране. Вывод этого кода будет следующим: Теперь давайте установим значение переменной age равным 55 и посмотрим на разницу. Вывод из вышесказанного выглядит следующим образом: Обратите внимание, что на этот раз условие не вернулось истинным, поэтому заявление, сообщающее пациенту, что он имеет право на приоритетное лечение, не выводится на экран. Появились только приветствия, так как они не были внутри (с отступом) тела утверждения “если”. Оператор If/ElseОператор “if/else” используется для указания альтернативного пути выполнения в случае, если оператор “if” возвращает false. Взгляните на следующий пример: Здесь будет выполнен блок кода, за которым следует оператор “else”, так как переменная age равна 55, а условие “if” вернет false. Следовательно, вместо этого будет выполняться оператор “else”. Результат будет следующим: Оператор If/ElifОператор “if/elif” используется для реализации нескольких условий. Взгляните на следующий пример: В приведенном выше коде мы реализовали три условия. Если возраст больше 65 лет, если возраст находится между 65 и 18 годами, и если возраст меньше 18 лет. В зависимости от значения параметра age будет выполняться другой оператор print. Здесь, поскольку возраст равен 10, второе условное значение возвращает true, и вы увидите следующий вывод: Если бы ни одно из условных выражений не возвращало true, то ни один из операторов print() не был бы выполнен. Это отличается от примера “if/else”, где выполняется либо “if” , либо “else”. В случае “if/elif” это не обязательно так. Однако вы можете добавить обычный оператор “else” в конце, который будет выполнен, если ни одно из условий выше него не вернет true. Используя этот метод, который я только что описал, мы могли бы переписать предыдущий пример так, чтобы он выглядел следующим образом: Этот код приведет к тому же результату, что и в предыдущем примере. Вложенный оператор If ElseВложенные операторы “if/else” используются для реализации вложенных условий (т. е. условий внутри другого условия). Рассмотрим следующий пример: Здесь мы имеем внешнее условие, что если возраст больше или равен 65 годам, то проверьте, есть ли у пациента страховка или нет. Если у пациента есть страховка, страховая компания оплатит счет позже, в противном случае пациент должен заплатить заранее. ПетлиОператоры итерации, или более известные как циклы, используются для многократного выполнения фрагмента кода несколько раз. Подумайте, если вам нужно напечатать на экране имена 100 человек. Вам придется либо написать 100 операторов печати, либо использовать сотни escape – символов в одном операторе печати. Если вам придется выполнять эту задачу неоднократно, вам придется написать сотни тысяч утомительных строк кода. Лучший способ-использовать петли. В Python существует два основных типа циклов: Имейте в виду, что вы можете вложить циклы точно так же, как мы сделали это с условными операторами, но мы не будем вдаваться в это здесь. Цикл For“Цикл for” используется для итерации по набору элементов. Цикл продолжает выполняться до тех пор, пока все элементы в коллекции не будут пройдены. Взгляните на простой пример цикла for: Обратите пристальное внимание на приведенный выше код. Это следует из следующего синтаксиса: Вывод приведенного выше кода выглядит следующим образом: Цикл While“Цикл while” отличается от “цикла for” тем, что он продолжает выполняться, в то время как определенное условие продолжает возвращать true. После каждой итерации цикла while выполняется повторная оценка условия. Когда условие наконец возвращает false, цикл while прекращает выполнение и завершается. Взгляните на следующий пример: Здесь цикл будет продолжать выполняться до тех пор, пока значение x не станет отрицательным. Переменная x изначально имеет значение 50, и во время каждой итерации мы уменьшаем ее на 5. Таким образом, после 10 итераций значение станет отрицательным, и цикл перестанет выполняться. Результат будет выглядеть следующим образом: В то время как циклы хороши для тех случаев, когда вы еще не знаете, сколько итераций вам нужно. Циклы For повторяют заданное число раз, тогда как циклы while могут повторять неизвестное число раз или даже бесконечное число раз. Функции в PythonФункции в программировании-это конструкции, выполняющие определенные задачи. Функции удобны в сценариях, когда вам приходится выполнять задачу несколько раз на протяжении всего кода. Вместо того чтобы переписывать одну и ту же функцию снова и снова, вместо этого вы можете создать функцию, которая выполняет эту задачу, а затем вызвать эту функцию везде и всегда, когда захотите. Обратите внимание, что есть разница между многократным выполнением задачи и многократным выполнением задачи. Циклы используются там, где вы должны выполнять задачу несколько раз подряд. Функции, с другой стороны, используются, когда вам приходится выполнять одну и ту же задачу в разных местах вашего кода. Рассмотрим сценарий, в котором вам нужно напечатать длинное заявление на экран в разное время. Вместо этого напишите функцию, которая печатает нужный оператор, а затем вызовите эту функцию везде, где вы хотите напечатать этот оператор. Взгляните на следующий пример: В этом коде я хотел бы указать на две вещи: определение функции и вызовы функции. Во второй части нашего примера кода вы увидите вызов функции. Чтобы вызвать функцию, вам просто нужно написать имя функции, за которым следует пара скобок. Если функция принимает параметры, вы должны передать их в скобках. Вывод вышеприведенного кода будет следующим: Вы можете видеть, что наша длинная строка была напечатана дважды. Один раз перед тем, как они “Делают что-то здесь”, и один раз после него, что соответствует порядку наших вызовов функций в коде. Вы можете себе представить, насколько это важно для программирования. Что делать, если нам нужно выполнить более сложную задачу, такую как загрузка файла или выполнение сложных вычислений? Было бы расточительно писать полный код несколько раз, и именно здесь в игру вступают функции. Функции с параметрамиТеперь давайте посмотрим, как передать параметры функции. Параметр – это просто переменная, которая передается функции от вызывающего. Давайте напишем функцию, которая добавляет два числа, переданные ей в качестве параметров в скобках: Результатом приведенного выше кода будет: Вы можете видеть, что каждый раз, когда функция вызывается, наша переменная result содержит сложение двух переданных чисел. Списки, кортежи и словариСписки, кортежи и словари-это три наиболее часто используемые структуры данных в программировании. Через все они хранят коллекцию данных, основное отличие заключается в следующем: В следующих разделах вы увидите некоторые из этих свойств для каждой структуры данных. СпискиСписки используются для хранения набора элементов различных типов данных. Элементы хранятся в квадратных скобках, где каждый элемент отделен друг от друга запятой. Давайте посмотрим, как создать простой список: Вы можете видеть, что мы сохранили строки, число и логическое значение в этом списке. В Python (в отличие от других строго типизированных языков) список может хранить любой тип данных в одном списке, как показано выше. Однако чаще списки имеют тенденцию хранить множество различных значений одного и того же типа данных. Доступ К Элементам СпискаЧтобы получить доступ к элементу в списке, просто напишите имя переменной списка, за которым следует пара квадратных скобок. Внутри скобок укажите индексный номер элемента, к которому вы хотите получить доступ. Важно отметить, что списки в Python (и многих других языках программирования), индексы списков начинаются с 0. Это означает, что первый элемент в каждом списке находится в позиции 0, а последний-в позиции n-1, где n-длина списка. Это называется индексацией на основе нуля. Взгляните на этот код: Здесь мы получаем доступ к первому и пятому элементам списка random list list. Выход будет таким: Возможно, вы также заметили, что элементы в списке остаются в том порядке, в котором они хранятся. Они останутся в том же порядке, если их явно не переместить или не удалить. Назначение Новых Элементов СпискаЧтобы присвоить значение существующей позиции списка, необходимо указать индекс позиции, которой вы хотите присвоить значение, а затем использовать оператор присваивания ( = ) для фактического присвоения значения. Здесь мы обновили первый элемент списка. Мы отобразили значение элемента до и после обновления, чтобы показать изменение. Добавление Элементов СпискаУдаление Элементов СпискаЗдесь мы удалили второй элемент списка random list list. Мы используем оператор print для отображения списка до и после удаления элемента. Результат будет следующим: КортежиС точки зрения синтаксиса кортежи отличаются от списков тем, что они используют круглые скобки, тогда как списки используют квадратные скобки. Даже при всех этих различиях кортежи все равно очень похожи на списки. Доступ к элементам одинаков, и порядок элементов сохраняется, как и списки. Вот как вы можете создать кортеж: Доступ К Элементам кортежаДоступ к элементам кортежа осуществляется так же, как и к спискам: В приведенном выше сценарии мы обращаемся ко второму и пятому элементам кортежа. Как и ожидалось, это приведет к следующему результату: Назначение значений элементам кортежаКак обсуждалось ранее, невозможно присвоить новые значения уже объявленным элементам кортежа. Поэтому вы не можете сделать что-то подобное: Попытка такого назначения приводит к возникновению следующей ошибки: Удаление элемента кортежаВы не можете удалить отдельный элемент кортежа. Попытка сделать это приведет к возникновению ошибки, точно так же, как мы показали, когда вы пытаетесь переназначить элемент: Однако вы можете удалить сам кортеж с помощью функции “del”, как показано в следующем примере: Если вы попытаетесь получить доступ к удаленному кортежу, как во второй инструкции print выше, вы получите следующее сообщение об ошибке: СловариПодобно спискам и кортежам, словарные структуры данных хранят набор элементов. Однако они довольно сильно отличаются от кортежей и списков, потому что являются хранилищами ключевых значений. Это означает, что вы даете каждому значению ключ (чаще всего строку или целое число), который может быть использован для доступа к элементу в более позднее время. Когда у вас есть большой объем данных, это более эффективно для доступа к данным, чем обход всего списка, чтобы найти свой элемент. При создании словаря каждая пара ключ-значение отделяется от другой запятой, а все элементы хранятся в фигурных скобках. См. следующий код: Словари очень полезны, когда у вас есть много информации о конкретной вещи, как в примере с автомобилем, который мы показали выше. Они также полезны, когда вам нужно получить доступ к случайным элементам в коллекции и вы не хотите проходить через огромный список, чтобы получить к ним доступ. Доступ К Элементам словаряДоступ к элементам словаря осуществляется с помощью их ключей. Например, если вы хотите получить доступ к первому элементу, вам придется использовать его ключ, который в данном случае является “Make”. Взгляните на следующий пример, чтобы увидеть синтаксис: Здесь мы получаем доступ к первому и второму элементам случайного словаря dict с помощью их ключей. Результат будет выглядеть следующим образом: Поскольку доступ к элементам словаря осуществляется с помощью их ключей, элементы не упорядочены в структуре данных, и перебирать их не так просто, как списки. Назначение значений элементам словаряЧтобы присвоить значение уже существующему элементу словаря, сначала необходимо получить доступ к этому элементу, а затем присвоить ему новое значение. Следующий пример показывает это: На выходе получится вот что: Удаление Элементов СловаряСуществует три различных способа удаления элементов в словарях: вы можете удалить отдельные элементы, вы можете удалить все элементы или вы можете удалить весь словарь. В следующем примере показаны все эти три способа: Здесь мы показываем словарь после выполнения каждой из трех операций удаления. Не беспокойтесь о “#” и продолжающемся тексте в коде – они существуют для того, чтобы комментировать код. Комментарии не выполняются, они просто предоставляют информацию о коде и являются чисто необязательными. Вывод вышеприведенного кода будет следующим: Обратите внимание, что поскольку мы удалили словарь в конце, то возникает ошибка, указывающая на то, что random dict не определен. Пример ПримененияТеперь, когда мы прошли через многие из самых основных понятий в Python, давайте использовать его с пользой и создать простое приложение, используя то, что мы узнали. Допустим, у вас так много автомобилей, что вы просто не можете уследить за ними всеми, поэтому мы создадим приложение, которое сделает это за вас. Он будет работать, постоянно спрашивая вас, хотите ли вы добавить автомобили в свой инвентарь, и если вы это сделаете, то он запросит детали автомобиля. Если вы этого не сделаете, приложение распечатает детали всех ваших автомобилей и выйдет. Вот полный код, который мы подробно объясним в остальной части этого раздела: В первой строке нашего кода мы создаем список, который будет содержать детали всех наших автомобилей. Каждый элемент в списке будет элементом словаря, который будет содержать такие детали, как “Марка”, “Модель” и т. Д. Используя “while-loop”, мы постоянно проверяем, хочет ли пользователь добавить больше автомобилей в свой инвентарь. Это может продолжаться до тех пор, пока пользователь продолжает вводить “y” в подсказке “Добавить инвентарь?”, что именно то, для чего хороши “while-loops”. Когда пользователь наконец введет “n” (или любой символ, который не является “y”), мы распечатаем для него полный список их инвентаря. Это делается с помощью “for-loop”. Для каждого элемента в списке мы сохраняем текущий элемент во временной переменной c и извлекаем все соответствующие данные автомобиля с помощью его ключей, которые затем распечатываем на экран с помощью конкатенации строк (или “добавления”). Это добавляет две строки вместе, чтобы стать одной перед печатью на экране. Запуск этого кода через командную строку может выглядеть примерно так: Что дальше?Эта статья представляет собой очень простое введение в язык программирования Python. Мы затронули только самые фундаментальные понятия, включая переменные, операторы, условные операторы, циклы и многое другое. Как только вы освоитесь с простыми концепциями Python, переходите к более сложным темам, таким как объектно-ориентированный Python. Большинство современных приложений для программирования основаны на объектно-ориентированных принципах. Как было объяснено в начале, Python широко используется для веб-разработки, машинного обучения, науки о данных и микроконтроллеров, так что попробуйте немного всего и посмотрите, какая ниша вам наиболее интересна. Что вы думаете о Python до сих пор? Для чего вы планируете его использовать? Дайте нам знать в комментариях!
|