Архив метки: Python

Применяем Python на практике: книги по прикладному использованию языка, изданные в 2019 году

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

Эта подборка будет интересна уже опытным питонистам, поскольку для понимания материала нужны хорошие знания языка.

Изучение робототехники с помощью Python

Обложка книги: "Изучение робототехники с помощью Python"

Автор: Лентин Джозеф. Язык: русский.

Автор книги, Лентин Джозеф, занимается робототехникой на коммерческом уровне. Он руководит компанией, которая разрабатывает ПО для роботов.

Эта книга — практическое руководство по созданию автономного мобильного робота. Для его проектирования и создания пользовательского интерфейса будет использоваться Python.

Книга предназначена для инженеров-робототехников. Помимо знания самого языка Python, вам пригодится хорошее знание ROS, OpenCV, OpenNI и PCL.

Прикладной анализ текстовых данных на Python

Обложка книги "Прикладной анализ текстовых данных на Python"

Авторы: Бенджамин Бенгфорт, Ребекка Билбро, Тони Охеда. Язык: русский.

Из этой книги вы узнаете о том, как применять методы машинного обучения для анализа текста. Вы будете использовать такие библиотеки Python, как Scikit-Learn, NLTK, Gensim, spaCy, NetworkX и Yellowbrick.

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

Text Analytics with Python

Обложка книги "Text Analytics with Python"

Автор: Dipanjan Sarkar. Язык: английский.

Dipanjan Sarkar — data scientist в Red Hat. Он консультировал несколько стартапов, а также некоторые солидные компании вроде Intel. Имеет диплом по data science и разработке программ, но при этом — горячий сторонник самообразования и открытых онлайн-курсов.

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

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

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

Изучение сложных систем с помощью Python

Обложка книги "Изучение сложных систем с помощью Python"

Автор: Аллен Б. Дауни. Язык: русский.

Сложные системы — это физические и социальные системы со множеством взаимодействующих компонентов. Наука о них находится на стыке математики, информатики и естествознания.

В отличие от многих других книг о сложных системах, здесь приводятся примеры кода, математические выкладки и пояснения работы моделей. К каждой главе прилагаются блокноты Jupiter с соответствующим кодом (доступны в GitHub-репозитории), а также упражнения (с решениями).

Примеры в книге написаны на Python, так что читатель должен владеть этим языком, а также разбираться в ООП. Автор применяет библиотеки NumPy, SciPy и NetworkX, и если вы с ними знакомы, это облегчит вам чтение (но знание их не обязательно). Кроме того предполагается, что читатель не совсем далек от математики (в объяснениях применяются логарифмы и векторы).

Аллен Дауни — опытный автор: его перу принадлежат несколько бесплатных учебников по Python и науке о данных. Также он ведет блог о байесовской вероятности и статистике (Probably Overthinking It).

Вероятностное программирование на Python

Обложка книги "Вероятностное программирование на Python"

Автор: Дэвидсон-Пайлон Кэмерон. Язык: русский.

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

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

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

Practical Cryptography in Python

Обложка книги "Practical Cryptography in Python"

Авторы: Seth James Nielson, Christopher K. Monson. Язык: английский.

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

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

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

В конце глав вы найдете упражнения на закрепление материала.

DevOps in Python

Обложка книги "DevOps in Python"

Автор: Moshe Zadka. Язык: английский.

Аспекты применения Python, интересные SRE/DevOps-специалистам, довольно редко рассматриваются в книгах. Им приходится полагаться на официальную документацию и посты в блогах. Моше Задка решил заполнить этот пробел.

Из книги «DevOps in Python» вы узнаете, как использовать всю мощь языка Python для автоматизации операций.

Начинается все с разбора самой установки Python. Ведь есть не один способ сделать это! Автор рассматривает плюсы и минусы каждого.

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

Помимо библиотек, в книге рассматривается работа виртуальных машин, сервисов и контейнеров.

Книга рассчитана на специалистов, знающих Python.

Python Network Programming

Обложка книги "Python Network Programming"

Авторы: Abhishek Ratan, Eric Chou, Pradeeban Kathiravelu. Язык: английский.

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

Вы научитесь создавать простые сетевые клиенты, SDN и NFV системы, а также расширять свои сети при помощи Mininet. Авторы рассказывают, как использовать Python для DevOps и как пользоваться опенсорсными инструментами для тестирования, обеспечения безопасности и анализа сетей.

К концу чтения книги вы будете знать, как разрабатывать клиенты веб-API, email-клиенты, SSH и FTP. Кроме того, вы научитесь анализировать уязвимости в безопасности сети.

Math adventures with Python

Обложка книги "Math adventures with Python"

Автор: Peter Farrell. Язык: английский.

Иллюстрированное пособие для изучения математики при помощи кода.

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

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

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

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

Math for Programmers

Обложка книги "Math for Programmers"

Автор: Paul Orland. Язык: английский.

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

Представьте, что хорошее вино было бы одним из школьных предметов. Вероятно, на уроках вы изучали бы техники ферментации и приемы выращивания винограда. В качестве домашних заданий иногда предписывалось бы выпить 3-4 бокала вина. Иногда оно было бы вкусным, иногда — нет, но в любом случае, это скорее отвратило бы вас и от вина, и от виноделия. То же и с математикой. Традиционные методы преподавания способны отбить вкус к ней.

В этой книге, как вы уже поняли из названия, для изложения математических концепций применяется программирование на Python и реальные примеры (больше никаких вопросов «Ну и где мне это пригодится в жизни?!»).


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

Сообщение Применяем Python на практике: книги по прикладному использованию языка, изданные в 2019 году появились сначала на Pythonist.


Source: pythonist.ru knigi feed

Как использовать функцию NumPy arange() в Python

В библиотеке Python NumPy существует множество функций для выполнения различных типов числовых и научных операций. Создание различных типов массивов для различных целей — одно из практических применений библиотеки NumPy. В Python есть встроенная функция arange() для создания списка последовательных чисел. arange() — одна из функций создания массива библиотеки NumPy для создания массива числовых диапазонов.

 

Синтаксис

np.array  np.arange([start, ]stop, [step, ], dtype=None)

 

Эта функция может принимать четыре аргумента. Начала аргумент является необязательным, который определяет начальное значение массива. Если в функции используется начальное значение, то обязательный аргумент stop потребует определения конечного значения массива. Шаг аргумент является необязательным, что определяет разницу между элементами. Значение шага по умолчанию — 1, и значение этого аргумента не может быть 0. Четвертый аргумент, dtype, определяет тип данных элемента массива, а значение по умолчанию для этого аргумента — None . Эта функция возвращает объект массива на основе значений аргументов.

 

Использование функции arange()

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

 

Пример-1: Использование функции arange() с одним аргументом

Когда функция arange() библиотеки NumPy используется с одним аргументом, тогда в качестве значения аргумента устанавливается верхнее значение массива. Следующий скрипт создаст массив значений диапазона NumPy и распечатает различные атрибуты массива и значения массива. 12 был использован в качестве значения аргумента функции arange(), которая создаст массив NumPy из 12 элементов, которые будут начинаться с 0 и заканчиваться до 11. Затем будут напечатаны размер, размер и тип данных массива. Значения массива будут напечатаны позже.

# Импортировать NumPy



import numpy as np



# Создать одномерный массив NumPy последовательных чисел



np_array = np.arange(12)



# Распечатать различные атрибуты массива NumPy



print('Размерность массива: ', np_array.ndim)



print('Длина массива: ', np_array.size)



print('Тип данных массива: ', np_array.dtype)



# Распечатать значения массива NumPy



print('Значения массива являются:', np_array)

Пример-2: Использование функции arange() с двумя аргументами

Когда функция arange() используется с двумя аргументами, тогда начальное и конечное значения массива будут установлены как значения аргументов. В следующем примере показано, как создать массив с нижним и верхним значениями с помощью функции arange() . Первый массив создается установкой 10 в начальное значение и 25 в конечное значение. Будет создан массив из 15 последовательных целых чисел. Затем будут напечатаны два атрибута и значения массива. Второй массив создается установкой 0,5 в начальное значение и 5,5 в конце. Будет создан массив из 5 последовательных плавающих чисел. Те же атрибуты и значения этого массива будут напечатаны позже.

# Импортировать библиотеку NumPy



import numpy as np



# Создать массив NumPy целых чисел с начальным и конечным значениями



np_array1 = np.arange(10, 25)



# Распечатать различные атрибуты массива



print('The size of the array: ', np_array1.size)



print('Тип данных массива: ', np_array1.dtype)



# Распечатать значения NumPy array



print('Значения массива являются:', np_array1)



# Создайте массив NumPy чисел с плавающей запятой с начальным и конечным значениями



np_array2 = np.arange(0.5, 5.5)



# Распечатать различные атрибуты массива



print('nРазмер массива: ', np_array2.size)



print('Тип данных массива: ', np_array2.dtype)



# Распечатать значения



print('Значения массива являются:', np_array2)

 

Пример-3: Использование функции arange() с тремя аргументами

В следующем примере показано использование функции arange() с тремя аргументами. 10 устанавливается для аргумента start , 20 устанавливается для аргумента остановки и 2 устанавливается для значения аргумента step функции arange(). Он создаст массив из 5 целочисленных значений. Размер, тип данных и значения массива будут напечатаны в качестве вывода.

# Импортировать Numpy



import numpy as np



# Создать массив NumPy целых чисел со значениями начала, конца и шага



np_array = np.arange(10, 20, 2)



# Распечатать различные атрибуты массива



print('Размер массива:', np_array. size)



print('Тип данных массива:', np_array. dtype)



# Распечатать значения массива NumPy



print('Значения массива:', np_array)

 

Пример-4: Использование функции arange() с отрицательными значениями аргументов

В следующем примере показано использование функции arange() с отрицательными значениями аргументов. 50 установлено для аргумента start, 20 установлено для аргумента остановки, а 2 установлено для значения аргумента step функции arange(). Он создаст массив из 9 отрицательных целых чисел. Размер, тип данных и значения массива будут напечатаны в качестве вывода.

# Импортировать Numpy



import numpy as np



# Создать массив отрицательных чисел NumPy со значениями начала, конца и шага



np_array = np. arange(- 50 , - 5 , 5)



# Распечатать различные атрибуты массива



print('Размер массива:' , np_array. size)



print('Тип данных массива:' , np_array. dtype)



# Распечатать значения массива NumPy



print('Значения массива:' ,np_array)

 

Заключение

Способы создания массива NumPy с помощью функции arange() были описаны в этом руководстве с использованием нескольких примеров. Здесь показано создание массива с последовательными положительными и отрицательными числами с помощью этой функции. Мы надеемся, что цель использования функции arange() будет понятна читателям после прочтения этой статьи.



2021-01-27T05:59:03
Python

Скрипт Python для мониторинга сетевого подключения

Постоянное подключение наших устройств к Интернету становится скорее основной потребностью, чем дополнительной привилегией.

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

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

 

Требования к проекту

Для этого проекта нам понадобятся только:

  • Основы программирования на Python
  • Базовое понимание компьютерных сетей.
  • Удобно пользоваться терминалом.

 

Логика проекта

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

 

Что такое время работы и простоя сети?

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

 

Как определить время простоя

Теперь, когда мы знаем, что такое простои в Интернете, вы, возможно, задаетесь вопросом: «Как нам его определить?»

Не усложняя наш код, мы можем использовать ping. Проверка связи — это метод, при котором мы постоянно проверяем связь с надежным сервером, например Cloudflare или Google DNS, а затем ждем ответа.

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

По разнице во времени мы можем отметить, когда и как долго не работал интернет.

Мы также должны быть осторожны при пинге отдельного сервера, потому что мы можем ошибочно принять пинг за DDoS-атаку, что может привести к блокировке нашего IP-адреса, что приведет к отрицательным результатам.

Вот блок-схема, объясняющая эту концепцию:

Скрипт Python для мониторинга сетевого подключения

 

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

 

Теперь покажите мне код

Как обычно, в Python мы начинаем с импорта необходимых библиотек. Затем мы создаем файл журнала в текущем рабочем каталоге.

Мы используем библиотеку сокетов для отправки запроса на внешний IP-адрес в первой функции. В этом примере мы используем общедоступный DNS-адрес Cloudflare, который имеет очень высокое время безотказной работы. Мы также передаем порт, и, поскольку это DNS-сервер, используем порт 53.

Затем мы проверяем, что у нас есть доступ к каталогу файла журнала, и выходим, если у нас нет доступа.

Следующим шагом будет вычисление времени отключения сетевого подключения. Наконец, мы заключаем всю функциональность в цикл, как показано в приведенном ниже коде.

import socket

import time

import datetime

import os

import sys

LOG_FNAME = "network.log"

FILE = os.path.join(os.getcwd(), LOG_FNAME)

def send_ping_request(host="1.1.1.1", port=53, timeout=3):

try:

socket.setdefaulttimeout(timeout)

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect((host,port))

except OSError as error:

return False

else:

s.close()

return True

def write_permission_check():

try:

with open(FILE, "a") as file:

pass

except OSError as error:

print("Ошибка создания файла журнала")

sys.exit()

finally:

pass

def calculate_time(start, stop):

time_difference = stop - start

seconds = float(str(time_difference.total_seconds()))

return str(datetime.timedelta(seconds=seconds)).split(".")[0]

def mon_net_connection(ping_freq=2):

monitor_start_time = datetime.datetime.now()

motd = "Мониторинг сетевого подключения начат в: " + str(monitor_start_time).split(".")[0] + " Отправка запроса ping в " + str(ping_freq) + " секунды"

print(motd)



with open(FILE, "a") as file:

file.write("n")

file.write(motd + "n")

while True:

if send_ping_request():

time.sleep(ping_freq)

else:

down_time = datetime.datetime.now()

fail_msg = "Сетевое соединение недоступно в: " + str(down_time).split(".")[0]

print(fail_msg)

with open(FILE, "a") as file:

file.write(fail_msg + "n")

i = 0

while not send_ping_request():

time.sleep(1)

i += 1

if i >= 3600:

i = 0

now = datetime.datetime.now()

continous_message = "Постоянная недоступность сети: " + str(now).split(".")[0]

print(continous_message)

with open(FILE, "a") as file:

file.write(continous_message + "n")

up_time = datetime.datetime.now()

uptime_message = "Сетевое подключение восстановлено: " + str(up_time).split(".")[0]



down_time = calculate_time(down_time, up_time)

_m = "Подключение к сети было недоступно для " + down_time



print(uptime_message)

print(_m)



with open(FILE, "a") as file:

file.write(uptime_message + "n")

file.write(_m + "n")

mon_net_connection()




Заключение

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



2021-01-25T11:27:42
Python

Как разбить строку в Python

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

В этой статье мы поговорим о том, как разбить строку в Python.

.split () Метод

В Python строки представлены как неизменяемые объекты str . Класс str имеет ряд строковых методов, которые позволяют управлять строкой.

Метод .split() возвращает список подстрок, разделенных разделителем. Требуется следующий синтаксис:

str.split(delim=None, maxsplit=-1)

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

В примере ниже мы разделяем строку s используя запятую ( , ) в качестве разделителя:

s = 'Sansa,Tyrion,Jon's.split(',')

Результатом является список строк:

['Sansa', 'Tyrion', 'Jon']

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

Последовательность символов также может использоваться в качестве разделителя:

s = 'Sansa::Tyrion::Jon's.split('::')

['Sansa', 'Tyrion', 'Jon']

Когда maxsplit , он ограничивает количество разделений. Если не указано или -1 , ограничение на количество разделений отсутствует.

s = 'Sansa;Tyrion;Jon's.split(';', 1)

В списке результатов будет максимальное maxsplit+1 элементов maxsplit+1 :

['Sansa', 'Tyrion;Jon']

Если delim не указан или имеет значение Null , строка будет разделена с использованием пробела в качестве разделителя. Все последовательные пробелы считаются одним разделителем. Кроме того, если строка содержит завершающие и ведущие пробелы, в результате не будет пустых строк.

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

' Daenerys  Hodor Arya   Jaime Bran '.split()

['Daenerys', 'Hodor', 'Arya', 'Jaime', 'Bran']

' Daenerys  Hodor Arya   Jaime Bran '.split(' ')

['', 'Daenerys', '', 'Hodor', 'Arya', '', '', 'Jaime', 'Bran', '']

Если разделитель не используется, возвращаемый список не содержит пустых строк. Если в качестве разделителя установлено пустое пространство ' ' то начальные, конечные и последовательные пробелы приведут к тому, что результат будет содержать пустые строки.

Выводы

Разделение строк — одна из самых основных операций. Прочитав это руководство, вы должны хорошо понимать, как разбивать строки в Python.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2021-01-07T20:32:08
Python

Обратный список Python

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

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

reverse() метод

reverse() — это метод типа данных списка, который меняет местами элементы списка. Этот метод изменяет исходный список, а не создает новый.

Синтаксис метода reverse() следующий:

list.reverse()

reverse() не принимает аргументы.

Вот пример:

capitals = ['Oslo', 'Skopje', 'Riga', 'Madrid']

capitals.reverse()

print('Reversed list:', capitals)

Reversed list: ['Madrid', 'Riga', 'Skopje', 'Oslo']

функция reversed()

reversed() — это встроенная функция Python, которая возвращает обратный итератор заданного итеративного объекта. Исходный список не изменяется.

Если вы хотите перебирать элементы списка только в обратном порядке, предпочтительнее использовать функцию reversed() , так как это быстрее, чем перестановка элементов на месте`.

Синтаксис функции reversed() следующий:

reversed(seq) 

Где seq — это список, который нужно восстановить.

Ниже приведен пример использования функции reversed() для перебора элементов списка в обратном порядке:

numbers = [1, 2, 3, 4]

for i in reversed(numbers) :
    print(i)

4
3
2
1

Если вы хотите преобразовать обратный итератор в список, используйте конструктор list() :

numbers = [1, 2, 3, 4]

print(list(reversed(numbers)))

[4, 3, 2, 1]

Перевернуть список с помощью нарезки

Нотация срезов — это встроенная функция Python, которая позволяет извлекать части последовательного типа данных. Хотя это и не очень Pythonic, вы можете использовать нотацию [::-1] перевернув список:

numbers = [1, 2, 3, 4]

print(numbers[::-1])

Результатом нарезки списка является новый список, содержащий извлеченные элементы. Исходный список не изменяется.

[4, 3, 2, 1]

Выводы

Чтобы перевернуть список Python на месте, используйте метод reverse() . Если вам нужно создать только обратный итератор, используйте функцию reversed() .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2021-01-05T14:24:35
Python

Абсолютное значение в Python

Числа — очень важный аспект любого языка программирования. Числа включают целые числа, числа с плавающей запятой и комплексные числа. Числа могут быть положительными или отрицательными. Иногда нам нужно получить абсолютное значение числа для выполнения математических операций, таких как сложение, вычитание и т. д. Абсолютное значение обозначает неотрицательное значение данного числа. Python предоставляет встроенную функцию abs() для поиска абсолютного значения числа. В этой статье объясняется использование функции abs() на простых примерах.

 

Синтаксис функции abs()

Функция abs() принимает число и возвращает абсолютное значение. Синтаксис функции abs() следующий:

abs(number)

 

Число может быть целым числом, числом с плавающей запятой или комплексным числом. В случае комплексного числа функция abs() возвращает значение величины.

 

Нахождение абсолютного значения целых чисел и числа с плавающей запятой

Теперь давайте воспользуемся функцией abs(), чтобы найти абсолютное значение целых чисел и чисел с плавающей запятой.

# Программа Python для поиска абсолютного значения



# Использование функции abs()



print("Абсолютное значение -20 равно:", abs(- 20))



print("Абсолютное значение -40,5 равно:", abs(- 40,5))



print("Абсолютное значение -10.9867 равно:", abs(- 10.9867))



print("Абсолютное значение 50,09 равно:", abs(50.09))



print ("Абсолютное значение -101,98 равно:", abs(- 101,98))



print("Абсолютное значение 30,08 равно:", abs(30,08))



print("Абсолютное значение -200 равно:", abs(- 200))



print("Абсолютное значение -10 равно:", abs(- 10))



print("Абсолютное значение -90 равно:", abs(- 90))




Вывод

На выходе отображаются абсолютные значения различных чисел.

 

Функция abs() принимает только число в качестве аргумента. Если мы передаем в качестве аргумента какой-либо символ или строковое значение, интерпретатор Python выдает ошибку “bad operand type for abs()”.

Программа Python для поиска абсолютного значения

# использование функции abs()



print(abs("a"))




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

# Программа Python для нахождения абсолютного значения

# использование функции abs()



# объявление первого числа

num1 = - 10



# объявление второго числа

num2 = - 20.04



# вывод суммы

print("сумма: ", abs(num1+num2))


 

Нахождение абсолютного значения комплексных чисел

Как мы ранее обсуждали, в случае комплексного числа функция abs() возвращает значение величины. Давайте воспользуемся функцией abs(), чтобы найти величину комплексного числа в нашем скрипте.

# Программа Python для определения абсолютного значения 

# с помощью функции abs()

num = -4-3j

print("Величина -4-3j равна:", abs(num))



num = 4+3j

print("Величина 4+3j равно: ", abs(num))



num = 5-7j

print(" Величина 5-7j равна: ", abs(num))



num = -1+6j

print ("Величина -1+6j равна:", abs(num))




Заключение

Функция abs() вычисляет и возвращает абсолютное значение заданного числа. В случае комплексных чисел функция abs() возвращает значение величины. Эта статья демонстрирует использование функции abs() с примерами.



2021-01-01T23:06:39
Python