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

Как добавить в начало списка в Python

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

  1. Функция List.Insert
  2. Метод оператора сложения
  3. Метод нарезки
  4. Итеративный метод распаковки

Итак, давайте подробно обсудим каждый метод.

 

Метод 1. Использование функции list.insert

Первый метод, который мы собираемся обсудить, — это функция вставки. Эта функция принимает два параметра: index_position и значение. В приведенном ниже коде мы вставляем переменную val в позицию индекса 0:

#python list_insert_method.py



if __name__ == '__main__':



lst = [12, 33, 45, 56,47]

val = 1



lst.insert(0, val)

print(lst)  



# prints [1, 12, 33, 45, 56, 47]

 

Вывод: python list_insert_method.py

[ 1 , 12 , 33 , 45 , 56 , 47 ]

 

Строка 5: Мы создали список целых чисел (lst).

Строка 6: Мы создали переменную val и присвоили ей значение 1, которое мы хотим вставить в начало списка.

Строка 8: Теперь мы вызываем метод insert и передаем два параметра (index_position, value). Первый параметр — это index_position, куда мы хотим вставить значение, поэтому мы оставляем его 0. Другой параметр — это значение, которое мы хотим вставить в index_position 0.

Строка 9: Оператор печати показывает, что наш val успешно вставлен в начало списка.

 

Метод 2: использование метода оператора сложения (+)

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

#python addition_operator_method.py



if __name__ == '__main__':



lst = [12, 33, 45, 56,47]

val = 1



lst = [val] + lst

print(lst)  # prints [1, 12, 33, 45, 56, 47]

 

Вывод: python addition_operator _method.py

[ 1 , 12 , 33 , 45 , 56 , 47 ]

 

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

Строка 9: Оператор печати показывает, что наш val успешно вставлен в начало списка.

 

Метод 3: использование метода среза

Другой метод, который мы собираемся обсудить, — это метод среза. Как мы знаем, list[: 1] напечатает элемент в позиции индекса 0, а list[: 2] напечатает два значения в позиции индекса 0 и 1. Поэтому любое значение, которое мы передаем в список слайсов [: n], будет print (n -1) элементов. Итак, если мы передадим список [: 0], он будет отображаться как пустой, потому что в списке нет такого значения индекса. Если мы вставим элемент в этот конкретный индекс, он добавится в начало списка, как показано в следующей программе:

# python slice_method.py



if __name__ == '__main__':



lst = [12, 33, 45, 56,47]

val = 1

print(lst[:0])

lst[:0] = [val]

print(lst)  # prints [1, 12, 33, 45, 56, 47]

 

Вывод: python slice_method.py

[ ]

[ 1 , 12 , 33 , 45 , 56 , 47 ]

 

Строка 7 : Мы печатаем lst[: 0], чтобы проверить, какие значения мы получим. По выходным данным print[] мы можем ясно сказать, что это пустой список.

Строка 8 : Мы присвоили список val пустому списку, как описано выше.

Строка 9 : Оператор печати показывает, что наш val успешно вставлен в начало списка.

 

Метод 4: Использование итеративного метода распаковки

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

# python unpacking_operator_method.py



if __name__ == '__main__':



lst = [12, 33, 45, 56,47]

val = 1

print(*lst)

lst = [val, *lst]

print(lst)  # prints [1, 12, 33, 45, 56, 47]

 

Вывод: python unpacking_operator_method.py

12 33 45 56 47

[ 1 , 12 , 33 , 45 , 56 , 47 ]

 

Строка 7: Когда мы печатаем список звездочек, мы получаем все элементы, как показано на выходе. Таким образом, мы можем сказать, что он повторяемый.

Строка 8: Мы сохранили val и * list вместе в списке, а затем назначили его другому списку.

Строка 9: Оператор печати показывает, что наш val успешно вставлен в начало списка.

 

Заключение

Мы показали вам различные методы добавления элемента в начало списка. Мы видели разные методы, такие как Insert, Addition(+) Operator, Slice и Unpacking Asterisk. Все методы очень просты в использовании, но вместе с тем мы должны заботиться о времени обработки. Потому что, если данных меньше, нас это может не волновать. Однако, если у нас есть миллиарды данных, это может иметь значение. Исходя из этого, лучшим методом обработки является метод вставки.



2021-09-27T23:01:55
Python

Что должен знать аналитик данных?

Аналитика данных –это прикладной предмет, объединяющий статистику, математику, систему управления базами данных, информатику, а также навыки, связанные с предметной областью. Специалисту анализа данных нужно обладать некоторыми знаниями обо всех сферах, а также быть экспертом в нескольких из них. Одно из основных отличий аналитики от ИТ заключается в том, что специалисту по данным нужно хорошо понимать продукт.

Аналитика данных связана с предоставлением полезной информации из обширных бизнес-данных, которые организация может использовать для получения выгод путем принятия обоснованных решений. Еще один важный аспект, в котором аналитика отличается от ИТ, заключается в том, что опыт в аналитике дает гибкость для работы над разными типами бизнес-задач, где по прошествии определенного времени (например 15-ти летнего опыта), технические навыки могут не соответствовать желаемым, и кому-то нужно взять на себя управление проектами.

 

В каких отраслях нужна аналитика данных?

Область науки о данных привлекает профессионалов из различных секторов, объединяющих как ИТ, так и не ИТ, поскольку возможности роста в некоторых ранее бурно развивающихся отраслях со временем стали очень ограниченными из-за быстрых преобразований в бизнес-сценариях. Сдвиг парадигмы в распространенных технологиях в деловом мире VUCA (этим термином обозначается неопределенность и быстрая изменчивость всех явлений в настоящем мире) потребовал появления новых технологий и наборов навыков для поддержки в новую эру. Для этого необходимо, чтобы многие профессионалы, обладающие навыками в области устаревших ИТ-технологий, были переведены на использование аналитики и анализа данных нового поколения. Возникает вопрос, как кто-то с традиционными знаниями или новичок из секторов, не связанных с ИТ, может быстро вооружиться навыками Data Science. Эта статья должна пролить свет на эту часть.

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

 

Какие знания требуются от аналитика данных?

Основные требования к этой профессии можно посмотреть в соответствующих вакансиях или программах онлайн обучения. Для удобства вы можете использовать подборку онлайн-курсов по аналитике данных на этом сайте https://kursberry.ru/category/online-kursy-po-analitike для того, чтобы подробнее ознакомиться с учебными материалами.

Excel — это старая рабочая лошадка, удовлетворяющая 70% потребностей анализа данных уже более полутора десятилетий. Некоторые функции Excel, такие, как Goal Seek, Pivot Table и т. д., принесли огромную пользу бизнесу для получения полезной информации из большого массива данных. Чтобы начать карьеру в аналитике, необходимо знать все полезные функции Excel.

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

Получение знаний в этих двух областях откроет путь к переходу на следующий уровень.



Выводная статистика и язык программирования

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

Базовое программирование на Python — программирование на Python к настоящему времени стало неотъемлемой частью науки о данных. Чтобы вступить в мир аналитики, нужно знать хотя бы один язык программирования. Для тех, кто более заинтересован в решении задач на основе статистики, язык программирования R более предпочтителен, библиотека статистических функций становится богаче, однако тем, кто хочет выполнять высокопроизводительные операции в машинном обучении и искусственном интеллекте, следует выбрать Python.

 

Применение знаний на практике и машинное обучение

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

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

 

Где можно обучиться на аналитика данных?

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

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



2021-09-23T16:54:25
Python

Программирование в Linux. Самоучитель — 2-е изд.

Программирование в Linux. Самоучитель — 2-е изд.

Программирование в Linux. Самоучитель - 2-е изд.

Книга Программирование в Linux. Самоучитель — 2-е изд. Рассмотрены фундаментальные основы программирования в Linux: инструментарий, низкоуровневый ввод-вывод, многозадачность, файловая система, межпроцессное взаимодействие и обработка ошибок.

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

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

Скачать с mail облака

2021-09-13T23:27:13Книги и Курсы

Python. Сборник упражнений

Python. Сборник упражнений

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

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

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

Скачать с mail облака

2021-09-11T09:18:52Книги и Курсы

Криптография с Python

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

Python предоставляет несколько очень сложных библиотек и модулей для шифрования и дешифрования данных. Некоторые из них — Cryptography, hashlib, Simple-Crypt и т. д. В статье демонстрируется использование современных методов криптографии в Python с помощью библиотеки криптографии, демонстрируя, как шифровать и дешифровать текстовые строки и файлы.

 

Установка библиотеки криптографии

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

ubuntu@ubuntu:~$ pip install cryptography

Шифрование текста

Импорт Fernet

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

from cryptography.fernet import Fernet

Генерация ключа

Теперь сгенерируйте ключ аутентификации, определив функцию или просто используя генератор fernet в Python. Функция Fernet.generate_key() сгенерирует ключ для шифрования и дешифрования. Добавьте в код следующую строку:

>> key = Fernet.generate_key()

 

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

>> fernet= Fernet(key)

Шифрование текстовой строки

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

>> message = “This text will be encrypted”



>> encrypted_message= fernet.encrypt(message.encode())



>> print(‘исходная текстовая строка:’, message)



>> print(‘сообщение после шифрования:’ encrypted_message)

 

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

$python main. py

original text string: This text will be encrypted message after encryption: gAAALI2cFS8dTm87KKKadrptluse5CM4t9_

 

Расшифровка текстовой строки

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

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

decrypted_message=fernet.decrypt(encrypted_message).decode()



print(‘расшифрованная строка текста:’, decrypted_message )

 

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

 

Шифрование файлов

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

from cryptography.fernet import Fernet

Генерация ключей

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

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

>> key = Fernet.generate_key()



>> with open('keyfile.key', 'wb') as keyfile:



keyfile.write(key)

 

Этот код сгенерирует случайную буквенно-цифровую строку и сохранит ее в файле keyfile.key.

 

Шифрование

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

>> with open('keyfile.key', 'rb') as keyfile:



>> key= keyfile.read()

 

Использование ключа для экземпляра fernet:

>> fernet= Fernet(key)

 

Откройте и прочтите файл, который нужно зашифровать, и зашифруйте данные в файле с помощью шифрования Fernet:

>> with open('list.csv', 'rb') as original_file:



original_data = original_file.read()



>> Encrypted_data= fernet.encrypt(original_data)

 

Теперь откройте файл в режиме записи и запишите зашифрованные данные обратно:

>> with open('list.csv', 'wb') as encrypted_file:



encrypted_file.write(encrypted_data)

 

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

 

Расшифровка файла

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

>> fernet= Fernet(key)



>> With open('list.csv', 'rb') as encrypted_file:



encrypted_data = encrypted_file.read()



>> decrypted_data = fernet.decrypt(encrypted_data)



>> with open('list.csv', 'wb') as decrypted_file:



decrypted_file.write(decrypted_data)

Заключение

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



2021-09-01T10:02:29
Python

Как использовать модуль Decimal в Python

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

 

О десятичном модуле

Десятичный модуль, как следует из названия, может использоваться для обработки чисел с десятичной запятой или чисел с плавающей запятой. Методы, включенные в этот модуль, помогают округлять десятичные числа, преобразовывать числа и выполнять арифметические вычисления. Он также уделяет большое внимание точности и точности, и каждое число после десятичной точки считается значимым. Десятичный модуль рассматривает такое число, как 1,40, как 1,40, а не как 1,4. Использование десятичного модуля можно лучше понять на примерах. Некоторые из них описаны ниже.

 

Выполнение основных математических вычислений с использованием десятичного модуля

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

from decimal import Decimal



a = 10

b = 11

c = a / b

d = Decimal(a) / Decimal(b)

print (c, type(c))

print (d, type(d))

 

Первый оператор импортирует класс Decimal из модуля decimal. Затем создаются две переменные «a» и «b» с некоторыми значениями. Переменная «c» хранит значение, полученное путем деления переменной a на b. Затем тот же процесс повторяется путем преобразования чисел в объекты десятичного типа. После выполнения приведенного выше примера кода вы должны получить следующий результат:

0.9090909090909091 <class 'float'>

0.9090909090909090909090909091 <class 'decimal.Decimal'>

Как вы можете видеть в выходных данных выше, объект типа float показывает числа с меньшей точностью, чем объект типа decimal, поскольку он использует гораздо более агрессивный метод аппроксимации, чем объект типа decimal. По умолчанию число десятичного типа в Python показывает до 28 чисел. Вы можете изменить это значение в соответствии с вашими потребностями, вызвав метод getcontext, доступный в модуле decimal.

from decimal import Decimal

from decimal import getcontext



getcontext().prec = 50

a = 10

b = 11

c = a / b

d = Decimal(a) / Decimal(b)

print (c, type(c))

print (d, type(d))

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

0.9090909090909091 <class 'float'>

0.90909090909090909090909090909090909090909090909091 <class 'decimal.Decimal'>

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

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

 

Округление чисел с помощью десятичного модуля

Модуль decimal поставляется с некоторыми предопределенными режимами округления, которые можно использовать для округления чисел с десятичными точками. Эти режимы называются ROUND_FLOOR, ROUND_CEILING, ROUND_HALF_DOWN, ROUND_HALF_UP, ROUND_UP, ROUND_DOWN, ROUND_HALF_EVEN и ROUND_05UP. Согласно официальной документации Python, вот что делает каждый из этих режимов:

  • ROUND_FLOOR: число округляется до отрицательной бесконечности.
  • ROUND_CEILING: число округляется до бесконечности или положительной бесконечности.
  • ROUND_HALF_DOWN: числа округляются до ближайшего числа. Если есть ничья, число округляется до нуля. Связи — это равноотстоящие числа, которые можно округлять как в большую, так и в меньшую сторону. Например, такое число, как 4,25, можно округлить как в сторону 4,2, так и 4,3.
  • ROUND_HALF_UP: числа округляются до ближайшего числа. Если есть ничья, число округляется от нуля.
  • ROUND_UP: число округляется от нуля.
  • ROUND_DOWN: число округляется до нуля.
  • ROUND_HALF_EVEN: числа округляются до ближайшего числа. Любые связи округляются до ближайшего четного целого числа.
  • ROUND_05UP: числа округляются от нуля, если последнее число равно 0 или 5. Если нет, то числа округляются до нуля.

В приведенном ниже примере кода показано поведение этих режимов.

import decimal

from decimal import Decimal

from decimal import getcontext



getcontext().prec = 2



getcontext().rounding = decimal.ROUND_FLOOR

print (Decimal(3.961) + Decimal(0))



getcontext().rounding = decimal.ROUND_CEILING

print (Decimal(3.961) + Decimal(0))



getcontext().rounding = decimal.ROUND_HALF_DOWN

print (Decimal(3.705) + Decimal(0))



getcontext().rounding = decimal.ROUND_HALF_UP

print (Decimal(3.775) + Decimal(0))



getcontext().rounding = decimal.ROUND_UP

print (Decimal(3.775) + Decimal(0))



getcontext().rounding = decimal.ROUND_DOWN

print (Decimal(3.609) + Decimal(0))



getcontext().rounding = decimal.ROUND_HALF_EVEN

print (Decimal(3.665) + Decimal(0))



getcontext().rounding = decimal.ROUND_05UP

print (Decimal(3.675) + Decimal(0))

Пример кода довольно прост. Для округления чисел установлена ​​точность 2 цифры. Метод округления изменяется путем установки значения объекта «округление» (часть основного контекста). После выполнения приведенного выше примера кода вы должны получить следующий результат, в котором каждая строка соответствует соответствующему режиму округления:

3.9

4.0

3.7

3.8

3.8

3.6

3.7

3.6

Округление с использованием метода квантования

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

import decimal

from decimal import Decimal



rounded = Decimal(3.961).quantize(Decimal('1.0'), rounding=decimal.ROUND_FLOOR)

print (rounded)

Методу квантования был предоставлен показатель степени «1.0», а в качестве дополнительного аргумента был предоставлен метод округления. Он вернет число в формате XX. После выполнения приведенного выше примера кода вы должны получить следующий результат:

3.9

Сравнение двух десятичных чисел

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

from decimal import Decimal



print (Decimal(1.2).compare(Decimal(1.1)))

print (Decimal(1.0).compare(Decimal(1.1)))

print (Decimal(1.0).compare(Decimal(1.0)))

Вы можете вызвать метод сравнения для объекта десятичного типа и указать другое число в качестве аргумента. Будет возвращено значение 0, 1 или -1 в зависимости от сравниваемых чисел. Значение 0 указывает, что оба числа равны, значение 1 указывает, что первое число больше второго числа, а значение -1 указывает, что первое число меньше второго. После выполнения приведенного выше примера кода вы должны получить следующий результат:

1

- 1

0

Заключение

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



2021-08-29T22:06:23
Python