Как проверить является ли строка числом python
Перейти к содержимому

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

Python: проверка, является ли переменная числом

В этой статье мы рассмотрим несколько примеров того, как проверить, является ли переменная числом в Python.

Python имеет динамическую типизацию. Нет необходимости объявлять тип переменной во время ее создания — интерпретатор определяет тип во время выполнения:

Кроме того, переменную можно переназначить новому типу в любой момент:

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

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

В Python функция type() возвращает тип аргумента:

Таким образом, способ проверки типа:

Здесь мы проверяем, является ли тип переменной, введенной пользователем, int или float , продолжая выполнение программы, если это так. В противном случае мы уведомляем пользователя, что он ввел переменную, отличную от Number. Помните, что если вы сравниваете несколько типов, например int или float , вам придется использовать эту type() функцию оба раза.

Если бы мы просто сказали if type(var) == int or float , что вроде бы нормально, возникла бы проблема:

Это, независимо от ввода, возвращает:

Это потому, что Python проверяет значения истинности утверждений. Переменные в Python могут быть оценены как True за исключением False , None , 0 и пустых [] , <> , set() , () , » или «» .

Следовательно, когда мы пишем or float в нашем условии, это эквивалентно записи or True , которая всегда будет возвращать True .

numbers.Number

Хороший способ проверить, является ли переменная числом — это модуль numbers . Вы можете проверить, является ли переменная экземпляром класса Number , с помощью функции isinstance() :

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

Использование блока try-except

Другой способ проверить, является ли переменная числом — использовать блок try-except. В блоке try мы преобразуем данную переменную в int или float . Успешное выполнение блока try означает, что переменная является числом, то есть либо int , либо float :

Это работает как для int, так и для float, потому что вы можете привести int к float и float к int.

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

String.isnumeric()

В Python isnumeric() — это встроенный метод, используемый для обработки строк. Методы issnumeric() возвращают «True», если все символы в строке являются числовыми символами. В противном случае он возвращает «False».
Эта функция используется для проверки, содержит ли аргумент все числовые символы, такие как: целые числа, дроби, нижний индекс, верхний индекс, римские цифры и т.д. (Все написано в юникоде)

String.isdigit()

Метод isdigit() возвращает истину, если все символы являются цифрами, в противном случае значение False.

Проверка на число

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

В Python проверка строки на число можно осуществить двумя способами:

  • Проверить все символы строки что в них записаны цифры. Обычно используется для этого функция isdigit.
  • Попытаться перевести строку в число. В Python это осуществляется с помощью методов float и int. В этом случае обрабатывается возможное исключение.

Рассмотрим как применяются эти способы на практике.

isdigit, isnumeric и isdecimal

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

Если в строка будет пустой, то функция возвратит False.

Методы строки isnumeric и isdecimal работают аналогично. Различия в этих методах только в обработке специальных символов Unicode. А так как пользователь будет вводить цифры от 0 до 9, а различные символы, например, дробей или римских цифр нас не интересуют, то следует использовать функцию isdigit.

Проверка с помощью исключения

Что же делать, если требуется проверить строку на отрицательное число. В Python с помощью isdigit не удастся определить отрицательное число или число с плавающей точкой. В этом случае есть универсальный и самый надежный способ. Надо привести строку к вещественному числу. Если возникнет исключение, то значит в строке записано не число.

5 Способов проверить, является ли строка целочисленной в Python

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

Итак, не теряя времени, давайте сразу перейдем к способам проверки python, является ли строка целочисленной.

Некоторые элитные способы Python Проверить, является ли строка целочисленной

  • isnumeric функция
  • обработка исключений
  • функция isdigit
  • Регулярное выражение
  • any() и map() функции

1. Проверка Того, является ли Заданная или Входная строка Целочисленной или Не использует isnumeric функцию

Функция isnumeric() Python может быть использована для проверки того, является ли строка целым числом или нет. isnumeric () – это встроенная функция. Он возвращает True, если все символы числовые, в противном случае False.

Синтаксис

Параметры

Метод isnumeric() не принимает никаких параметров.

Примеры

Объяснение:
  • В первом примере мы инициализировали и объявили строку s со значением ‘69544’. После этого с помощью функции isnumeric () мы проверили, является ли ‘69544’ целым числом или нет. В этом случае это целое число so, и оно вернуло ‘True’.
  • Во втором примере проверки python, если строка является целым числом, мы инициализировали строку s со значением ‘\u00BD’. Это ‘\u00BD’ является значением Unicode, и вы можете записать цифры и числовые символы с помощью Unicode в программе. Таким образом, он возвращает true.
  • Третий пример аналогичен первому, но вместо объявления значения целого числа мы объединили как целое значение, так и строку. В этом случае функция isnumeric() вернет False.
  • В четвертом примере мы сделали несколько дополнительных шагов, используя if-else со слиянием функции isnumeric (). Здесь мы объявили и инициализировали нашу переменную ‘s’ со значением ‘5651’. Затем с помощью операторов управления потоком и функции isnumeric() мы проверили, является ли данная строка целым числом или нет. В данном случае это целое число. Таким образом, мы получим выходное целое число. В других случаях, если значение не является целым числом, то мы получим результат, говорящий “Не целое число”.

Примечание: Этот метод проверки того, является ли строка целым числом в Python, не будет работать в отрицательных числах.

2. Python Проверяет, Является Ли Строка Целочисленной, Используя Обработку исключений

Мы можем использовать python, чтобы проверить, является ли строка целочисленной, используя механизм обработки исключений. Если вы не знаете, как обрабатывается исключение в python, позвольте мне вкратце объяснить вам это. В Python исключения могут обрабатываться с помощью оператора try. Жизненно важная операция, которая может вызвать исключение, помещается в предложение try. Код, управляющий исключениями, записывается в предложении except. Таким образом, мы можем выбрать, какие операции делать, как только поймаем исключение.

Давайте посмотрим на примере, как это работает.

Синтаксис

Параметры

Механизм обработки исключений (try-except-finally) не принимает никаких параметров.

Примеры

Объяснение:

В приведенном выше примере мы инициализировали строку ‘s’ со значением ‘951 sd’. Изначально мы полагаем, что значение string ‘s’ является целым числом. Поэтому мы объявили, что это правда. После этого мы попытались преобразовать строку в целое число с помощью функции int. Если строка’s’содержит нечисловые символы, то ‘ int’выдаст ValueError, который укажет, что строка не является целым числом, и наоборот.

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

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

3. Python Проверяет, Является Ли Строка Целочисленной, Используя Функцию isdigit

Мы можем использовать функцию isdigit(), чтобы проверить, является ли строка целым числом или нет в Python. Метод isdigit() возвращает True, если все символы в строке являются цифрами. В противном случае он возвращает False.

Давайте посмотрим на примере, как это работает.

Синтаксис

Параметры

Метод isdigit() не принимает никаких параметров.

Возвращаемое значение функции isdigit()

  • Возвращает True – Если все символы в строке являются цифрами.
  • Возвращает False – Если строка содержит одну или несколько нецифровых цифр

Примеры

Объяснение:

Третий пример проверки того, является ли входная строка целым числом, — это использование функции isdigit (). Здесь, в приведенном выше примере, мы взяли входные данные из string и сохранили их в переменной ‘str.’ После этого с помощью управляющих операторов и функции isdigit() мы проверили, является ли входная строка целым числом или нет.

Примечание: Функция ‘isdigit()’ будет работать только для положительных целых чисел, т. е. если вы передадите любое число с плавающей запятой, оно будет говорить, что это строка. Он не принимает никаких аргументов, поэтому возвращает ошибку при передаче параметра

4. Python Проверяет, Является Ли Строка Целочисленной, Используя Регулярное выражение

Мы можем использовать шаблон поиска, который известен как регулярное выражение, чтобы проверить, является ли строка целым числом или нет в Python. Если вы не знаете, что такое регулярное выражение и как оно работает в python, позвольте мне вкратце объяснить вам это. В Python регулярное выражение-это определенная последовательность символов, которая позволяет сопоставлять или находить другие строки или наборы строк со специализированным синтаксисом, удерживаемым в шаблоне. Регулярные выражения широко используются в мире UNIX.

Здесь мы используем метод match регулярного выражения, то есть re.match().Re. match() ищет только в первой строке строки и возвращает объект match, если он найден, иначе возвращает none. Но если совпадение подстроки находится в какой-то другой строке, кроме первой строки строки (в случае многострочной строки), она возвращает none.

Давайте посмотрим на примере, как это работает.

Синтаксис

Параметры

  1. patternСодержит регулярное выражение, которое должно быть сопоставлено.
  2. stringОн состоит из строки, которая будет искаться в соответствии с шаблоном в начале строки.
  3. флаги (необязательно)Вы можете указать различные флаги с помощью побитового ИЛИ (|). Это модификаторы.

Возвращаемое значение

  • Возвращайте совпадающие объекты, если они найдены.
  • Если совпадения нет, то вместо совпадения будет возвращено значение None href=»https://en.wikipedia.org/wiki/Object_(computer_science)»>Объект. href=»https://en.wikipedia.org/wiki/Object_(computer_science)»>Объект.

Примеры

Объяснение:

Четвертый способ проверить, является ли входная строка целым числом или нет в Python, — это использовать механизм регулярных выражений. Вот в этом примере сначала мы импортировали регулярное выражение с помощью ‘import re’. После этого мы взяли входные данные от пользователя и сохранили их в переменном значении. Затем мы использовали наш метод re.match (), чтобы проверить, является ли входная строка целым числом или нет. Паттерн, который должен быть сопоставлен здесь,-«[ — +]?\d+$». Этот шаблон указывает, что он будет соответствовать только в том случае, если у нас есть входная строка в виде целого числа.

Примечание: Функция ‘re.match()’ также будет работать с отрицательными числами.

5. Python Проверяет, Является ли Строка Целочисленной, Используя функции any() и map()

Мы можем использовать комбинацию функций any() и map (), чтобы проверить, является ли строка целым числом или нет в Python. Если вы не знаете, что такое функции any() и map() и как они работают в python, позвольте мне кратко объяснить вам это.

  • Функция any() принимает итерацию (список, строку, словарь и т. Д.) в Python. Эта функция возвращает true, если какой-либо элемент в iterable имеет значение true, иначе она возвращает false.
  • Функция map() вызывает указанную функцию для каждого элемента итерируемого объекта (например, строки, списка, кортежа или словаря) и возвращает список результатов.

Давайте рассмотрим на примерах, как они работают.

Синтаксис

Синтаксис любой функции()
Синтаксис функции map()

Параметры

любые Параметры функции()

iterable: Итеративный объект (список, кортеж, словарь)

Параметры функции map()

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

Возвращаемое значение

  • Any: Функция any() возвращает True, если любой элемент в итерабле имеет значение true, в противном случае он возвращает значение False.
  • Map: Возвращает список результатов после применения данной функции

Примеры

Объяснение:

Пятый способ проверить, является ли входная строка целым числом или нет в Python, — это использовать комбинацию функций any() и map() в python. Здесь, в приведенном выше примере, мы взяли входные данные в виде строки, которая является ‘sdsd’. И после этого с помощью функций any(), map () и isdigit() мы должны проверить, является ли строка целым числом.

Мы получаем False, потому что входная строка ‘sd’.

Примечание: Этот метод также будет работать с отрицательными числами.

Приложения Python Проверяют, является ли строка целочисленной

  • Чтобы проверить, содержит ли данная строковая переменная или значение только целые числа, например, проверить, правильно ли пользователь ввел числовой параметр в приложение на основе меню.
  • Используя ascii-значения символов, подсчитайте и выведите все цифры с помощью функции isdigit ().

Должен Читать

  • Введение в Python Super С примерами
  • Функция справки Python
  • Почему Python sys.exit лучше других функций выхода?
  • Python Bitstring: Классы и другие примеры | Модуль

Вывод: Python Проверяет, является ли строка целочисленной

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *