- Checking whether a variable is an integer or not
- Related Resources
- Python: проверка, является ли переменная числом
- Использование функции type()
- numbers.Number
- Использование блока try-except
- String.isnumeric()
- String.isdigit()
- Python check if a variable is an integer
- Python check if a variable is an integer
- How to check if a variable is an integer in Python
- 1. Using isinstance()
- 2. Using type()
- 3. Using the math module
- 4. Exception handling
- 5. Checking if a float is a whole number
- How to check if a number is an integer in Python
- Conclusion
Checking whether a variable is an integer or not
In Python, you can check if a variable is an integer using the isinstance() function. The isinstance() function takes two arguments: the first is the variable you want to check, and the second is the type you want to check it against.
Here’s an example of how you can use isinstance() to check if a variable is an integer:
x = 5 if isinstance(x, int): print("x is an integer") else: print("x is not an integer")
In this example, the variable x is set to 5, which is an integer. When we call isinstance(x, int) , the function will return True , and the code inside the if block will be executed.
You can also check if a variable is any kind of number by using isinstance(x, (int, float, complex)) and similarly check other data types.
Another way to check if a variable is integer is using type() function
x = 5 if type(x) is int: print("x is an integer") else: print("x is not an integer")
It will give the same result as above but, this method is not recommended as it might cause issues in some cases.
And Finally, Python offers math.isinteger() function which only checks if a number is integer, unlike above two methods which also check for other numeric type as well. For example:
import math x = 5.0 if math.isinteger(x): print("x is an integer") else: print("x is not an integer")
It will return False as x is float not an integer.
Related Resources
Python: проверка, является ли переменная числом
В этой статье мы рассмотрим несколько примеров того, как проверить, является ли переменная числом в Python.
Python имеет динамическую типизацию. Нет необходимости объявлять тип переменной во время ее создания — интерпретатор определяет тип во время выполнения:
variable = 4 another_variable = 'hello'
Кроме того, переменную можно переназначить новому типу в любой момент:
# Присвойте числовое значение variable = 4 # Переназначить строковое значение variable = 'four'
Этот подход, имея преимущества, также знакомит нас с несколькими проблемами. А именно, когда мы получаем переменную, мы обычно не знаем, какого она типа. Если мы ожидаем число, но получаем неопределенный variable , мы захотим проверить, является ли он числом, прежде чем выполнять какие-то действия.
Использование функции type()
В Python функция type() возвращает тип аргумента:
myNumber = 1 print(type(myNumber)) myFloat = 1.0 print(type(myFloat)) myString = 's' print(type(myString))
Таким образом, способ проверки типа:
myVariable = input('Enter a number') if type(myVariable) == int or type(myVariable) == float: # Do something else: print('The variable is not a number')
Здесь мы проверяем, является ли тип переменной, введенной пользователем, int или float , продолжая выполнение программы, если это так. В противном случае мы уведомляем пользователя, что он ввел переменную, отличную от Number. Помните, что если вы сравниваете несколько типов, например int или float , вам придется использовать эту type() функцию оба раза.
Если бы мы просто сказали if type(var) == int or float , что вроде бы нормально, возникла бы проблема:
myVariable = 'A string' if type(myVariable) == int or float: print('The variable a number') else: print('The variable is not a number')
Это, независимо от ввода, возвращает:
Это потому, что Python проверяет значения истинности утверждений. Переменные в Python могут быть оценены как True за исключением False , None , 0 и пустых [] , <> , set() , () , » или «» .
Следовательно, когда мы пишем or float в нашем условии, это эквивалентно записи or True , которая всегда будет возвращать True .
numbers.Number
Хороший способ проверить, является ли переменная числом — это модуль numbers . Вы можете проверить, является ли переменная экземпляром класса Number , с помощью функции isinstance() :
import numbers variable = 5 print(isinstance(5, numbers.Number))
Примечание. Этот подход может неожиданно работать с числовыми типами вне ядра Python. Некоторые фреймворки могут иметь нечисловую реализацию Number , и в этом случае этот подход вернет ложный результат False .
Использование блока try-except
Другой способ проверить, является ли переменная числом — использовать блок try-except. В блоке try мы преобразуем данную переменную в int или float . Успешное выполнение блока try означает, что переменная является числом, то есть либо int , либо float :
myVariable = 1 try: tmp = int(myVariable) print('The variable a number') except: print('The variable is not a number')
Это работает как для int, так и для float, потому что вы можете привести int к float и float к int.
Если вы специально хотите только проверить, является ли переменная одной из них, вам следует использовать функцию type() .
String.isnumeric()
В Python isnumeric() — это встроенный метод, используемый для обработки строк. Методы issnumeric() возвращают «True», если все символы в строке являются числовыми символами. В противном случае он возвращает «False».
Эта функция используется для проверки, содержит ли аргумент все числовые символы, такие как: целые числа, дроби, нижний индекс, верхний индекс, римские цифры и т.д. (Все написано в юникоде)
string = '123ayu456' print(string.isnumeric()) string = '123456' print( string.isnumeric())
String.isdigit()
Метод isdigit() возвращает истину, если все символы являются цифрами, в противном случае значение False.
Показатели, такие как ², также считаются цифрами.
print("\u0030".isdigit()) # unicode for 0 print("\u00B2".isdigit()) # unicode for ²
Python check if a variable is an integer
In this Python tutorial, we will discuss how to check if a variable is an integer in Python. We will also discuss, how to check if a number is an integer in Python.
Python check if a variable is an integer
To check if the variable is an integer in Python, we will use isinstance() which will return a boolean value whether a variable is of type integer or not.
my_variable = 56 print(isinstance(my_variable, int))
After writing the above code (python check if the variable is an integer), Ones you will print ” isinstance() “ then the output will appear as a “ True ”. Here, isinstance() will check if a variable is an integer or not and if it is an integer then it will return true otherwise false.
You can refer to the below screenshot to check if the variable is an integer.
This is how to check if a variable is an integer in Python.
Let us explore, different methods to check if a variable is an integer in Python.
How to check if a variable is an integer in Python
1. Using isinstance()
The isinstance() function in Python is a built-in function that checks if a variable is an instance of a specific class or a subclass thereof. Here’s how we can use isinstance() to check if a variable is an integer:
def is_integer(n): return isinstance(n, int) print(is_integer(5)) # Outputs: True print(is_integer(5.5)) # Outputs: False print(is_integer("5")) # Outputs: False
In this example, is_integer() returns True when the variable is an integer and False otherwise. You can see the output like below:
2. Using type()
While isinstance() checks if a variable is an instance of a specific class or a subclass thereof, the type() function strictly checks if a variable is an instance of a specific class and not its subclasses. Here’s how to use type() to check if a variable is an integer:
def is_integer(n): return type(n) is int print(is_integer(5)) # Outputs: True print(is_integer(5.5)) # Outputs: False print(is_integer("5")) # Outputs: False
Once you execute the code, you can see the output:
3. Using the math module
We can also use the Python math module to check if a number is an integer. This method works well when we want to check if a floating-point number is, in fact, an integer.
import math def is_integer(n): if isinstance(n, float): return n.is_integer() elif isinstance(n, int): return True else: return False print(is_integer(5)) # Outputs: True print(is_integer(5.0)) # Outputs: True print(is_integer(5.5)) # Outputs: False print(is_integer("5")) # Outputs: False
4. Exception handling
Sometimes, we might want to check if a variable can be converted to an integer, even if it’s not already one. This can be useful when reading data from files or user input. We can use a try/except block to do this:
def is_integer(n): try: int(n) return True except ValueError: return False print(is_integer(5)) # Outputs: True print(is_integer(5.5)) # Outputs: True print(is_integer("5")) # Outputs: True print(is_integer("5.5")) # Outputs: False
5. Checking if a float is a whole number
If you’re dealing with floats and want to check if they could be an integer (i.e., they are a whole number), you can use the is_integer() method available on all float instances:
def is_integer(n): return isinstance(n, float) and n.is_integer() print(is_integer(5.0)) # Outputs: True print(is_integer(5.5))
How to check if a number is an integer in Python
In Python you can check if a number is an integer by using the isinstance() built-in function. The isinstance() function checks if the object (first argument) is an instance or subclass of classinfo class (second argument).
Here is a simple Python function that checks if a number is an integer:
def is_integer(n): if isinstance(n, int): return True else: return False
You can then use this function to check various numbers like so:
print(is_integer(10)) # prints: True print(is_integer(10.0)) # prints: False print(is_integer('10')) # prints: False
The function is_integer checks whether the input n is an integer.
- If the input n is an integer, isinstance(n, int) is True and the function returns True .
- If the input n is not an integer, isinstance(n, int) is False and the function returns False .
The print statements then print the output of the function for different inputs.
It’s important to note that is_integer() will return False for floating point numbers even if they represent a number that could be an integer (like 10.0 ). If you would like it to return True for those cases, you would need to write your function slightly differently:
def is_integer(n): if isinstance(n, int): return True elif isinstance(n, float) and n.is_integer(): return True else: return False
And you can use them like below:
print(is_integer(10)) # prints: True print(is_integer(10.0)) # prints: True print(is_integer(10.5)) # prints: False print(is_integer('10')) # prints: False
In this second version of the function, is_integer() checks additionally if n is a float and if it represents an integer number. If both conditions are true, it returns True .
This is how to check if a variable is an integer in Python.
Conclusion
In this tutorial, we have learned, how to check if a number is an integer in Python and also how to check if a variable is an integer in Python.
I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.