6 способов найти модуль числа в Python 3
Модуль числа. Это, казалось бы, простая вещь. да, так оно и есть. Тем не менее — всегда интересно поэкспериментировать и по-новому взглянуть на простое.
Сегодня я покажу вам 6 способов найти модуль числа в Python 3. Я не стал добавлять сюда совсем абсурдные вещи, но немного абсурдности здесь все же будет.
Для начала самое очевидное. Проверяем отрицательное число (назовем его x) или положительное, т.е.
def abs1(x): if x < 0: return x*(-1) return x
А можно заменить умножение унарным минусом:
def abs1(x): if x < 0: return -x return x
Самое короткое решение в нашей статье — найти максимум между x и -x. Таким образом результат всегда будет положительным:
def abs2(x): return max(-x, x)
Здесь мы проверяем строку на наличие в ней минуса. Изначально я хотел использовать метод isdigit(), но потом я понял, что метод не считает точку частью числа, поэтому для float в строке метод возвращает False. Поэтому:
def abs3(x): if ‘-‘ in str(x): return -x return x
Этот способ использует условную инструкцию из предыдущей функции, но использует срез, чтобы избавиться от минуса. 3 строка выглядит не очень, приходится дважды менять тип данных результата. По-моему — это ухудшенная версия 3 способа:
def abs4(x): if ‘-‘ in str(x): return float(str(x)[1::]) return x
Тут мы будем использовать факт того, что операция квадратного корня в Python всегда возвращает положительный результат. Эту операцию не обязательно брать из библиотеки Math, можно просто возвести число в с степень 0.5. Итак:
def abs5(x): return (x*x)**0.5
Здесь мы используем операции со строками, как в 4 способе. Отличие в том, что мы не проверяем строку на наличие минуса. Мы убираем уго, есть он в строке или нет. Метод replace() позволяет убрать все повторения одного символа, что для нас избыточно, но с нулем повторений он тоже работает:
def abs6(x): return float(str(x).replace(‘-‘, »))
Примечание: говоря про положительные значения, правильнее сказать — положительные или нулевые, но я решил не засорять текст такой мелочью.
Статистика быстродействия
Подведем итоги, узнаем — что же быстрее работает. О том, как замерить время работы программы, я, возможно, расскажу в одной из следующих статей. Ну а пока что приведу статистические данные.
Я измерил время работы данного куска кода, где i — одна из 6 функций.
for j in range(100000): a = (i(1), i(-1), i(1.0), i(-1.0))
И вот что получилось:
Что у нас по итогу? Худший результат показал 4 способ, неудивительно.Самый очевидный способ — первый, на 2 месте. С большим отрывом лидирует 5 вариант, 100000 повторений за 0.79 сек! Математика быстрее логического оператора if и операций со строками.
Заключение
Я надеюсь, что вам была интересна данная статья, и вы разобрались в теме. Если хотите меня дополнить — пишите в комментариях. Удачи в мире IT!
Работа с модулями в Python
24 июля 2013 г.
Archy
Python для начинающих » Модули
Обсудить

Модулем в языке Python называется любой файл с программой. Каждый модуль может импортировать другой модуль, получая, таким образом, доступ к идентификаторам внутри импортированного модуля. Следует заметить, что импортируемый модуль может содержать программу не только на языке Python. Например, можно импортировать скомпилированный модуль, написанный на языке C.
Все программы, которые мы запускали ранее, были расположены в модуле с названием «__main__». Получить имя модуля позволяет предопределенный атрибут __name__. Атрибут __name__ для запускаемого модуля содержит значение «__main__», а для импортируемого модуля — его имя. Выведем название модуля:
print __name__ # Выведет: __main__
Проверить, является модуль главной программой или импортированным модулем, позволяет код, приведенный в листинге ниже.
Проверка способа запуска модуля
if __name__ == "__main__": print "Это главная программа" else: print "Импортированный модуль"
Инструкция import
Импортировать модуль позволяет инструкция import. Мы уже не раз использовали эту инструкцию для подключения встроенных модулей. Например, подключали модуль time для получения текущей даты с помощью функции strftime():
import time # Импортируем модуль print time.strftime("%d.%m.%Y") # Выводим текущую дату
9.1. Python – Метод abs() – модуль числа
Метод abs() – возвращает абсолютное значение x – (положительное) расстояние между x и нулем. Простыми словами, в Python метод abs() возвращает модуль числа.
Синтаксис
Ниже приведен синтаксис метода abs() в Python:
abs(x)
Параметры
х – числовое выражение.
Возвращаемое значение
Функция возвращает абсолютное значение x – модуль числа x.
Пример
В следующем примере показано нахождение модуля отрицательного, вещественного и long числа с помощью метода abs() в Python.
#!/usr/bin/python print "abs(-45): ", abs(-45) print "abs(100.12): ", abs(100.12) print "abs(119L): ", abs(119L)
Когда приведённый выше код выполнится, он даст следующий результат:
abs(-45): 45 abs(100.12): 100.12 abs(119L): 119
Оглавление
- 1. Python – Самоучитель для начинающих
- 2. Python – Обзор
- 3. Python – Установка среды
- 4. Python – Базовый синтаксис
- 4.1. Python – Аргументы командной строки
- 5. Python – Типы переменных
- 6. Python – Основные операторы
- 6.1. Python – Арифметические операторы
- 6.2. Python – Операторы сравнения
- 6.3. Python – Операторы присваивания: примеры
- 6.4. Python – Побитовые операторы
- 6.5. Python – Логические операторы
- 6.6. Python – Операторы членства
- 6.7. Python – Операторы идентификации
- 6.8. Python – Приоритет операторов
- 7. Python – Условные операторы
- 7.1. Python – Условие if
- 7.2. Python – Условные операторы if. else и elif
- 7.3. Python – Вложенные операторы if
- 8. Python – Циклы
- 8.1. Python – Цикл while
- 8.2. Python – Цикл for
- 8.3. Python – Вложенные циклы
- 8.4. Python – Оператор break
- 8.5. Python – Оператор continue
- 8.6. Python – Оператор pass
- 9. Python – Числа
- 9.1. Python – Метод abs()
- 9.2. Python – Метод ceil()
- 9.3. Python – Метод cmp()
- 9.4. Python – Метод exp()
- 9.5. Python – Метод fabs()
- 9.6. Python – Метод floor()
- 9.7. Python – Метод log()
- 9.8. Python – Метод log10()
- 9.9. Python – Метод max()
- 9.10. Python – Метод min()
- 9.11. Python – Метод modf()
- 9.12. Python – Метод pow()
- 9.13. Python – Метод round()
- 9.14. Python – Метод sqrt()
- 9.15. Python – Метод choice()
- 9.16. Python – Метод randrange()
- 9.17. Python – Метод random()
- 9.18. Python – Метод seed()
- 9.19. Python – Метод shuffle()
- 9.20. Python – Метод uniform()
- 9.21. Python – Метод acos()
- 9.22. Python – Метод asin()
- 9.23. Python – Метод atan()
- 9.24. Python – Метод atan2()
- 9.25. Python – Метод cos()
- 9.26. Python – Метод hypot()
- 9.27. Python – Метод sin()
- 9.28. Python – Метод tan()
- 9.29. Python – Метод degrees()
- 9.30. Python – Метод radians()
Функция abs
Функция abs возвращает модуль числа, т.е. из отрицательного числа делает положительное.
Синтаксис
Пример
Давайте выведем модуль числа -5 :
num = -5 print(abs(num))
Результат выполнения кода:
Пример
Давайте выведем модуль числа 10 :
num = 10 print(abs(num))
Результат выполнения кода:
Пример
Теперь давайте выведем модуль числа с плавающей точкой -2.5 :
num = -2.5 print(abs(num))
Результат выполнения кода:
Смотрите также
- функция min ,
которая возвращает минимальное число - функция max ,
которая возвращает максимальное число - функция round ,
которая округляет число - метод sqrt модуля math ,
который возвращает квадратный корень числа