1. Cú pháp sử dụng hàm math.isinf() trong Python

Hàm math.isinf() trong Python được sử dụng để kiểm tra xem một giá trị có phải là vô hạn hay không? Các giá trị vô hạn là ngược lại với các giá trị hữu hạn, nghĩa là các giá trị vô hạn sẽ không thể đếm được hay chính là các giá trị vô cùng. Trong Python, hàm math.isinf() trả về True nếu số được chỉ định là một số vô hạn, nếu số không vô hạn thì trả về False. Cú pháp hàm math.isinf() như sau:

math.isinf(x)

Tham số:

  • x là giá trị cần kiểm tra có vô hạn hay không?
Giá trị trả về: Một giá trị kiểu bool. Giá trị True nếu các giá trị là vô hạn (âm vô cùng hoặc dương vô cùng) , nếu các giá trị không vô hạn thì trả về giá trị False
Phiên bản Python: 2.6

Lưu ý: Nếu các giá trị x không phải là kiểu số khi đó hàm sẽ không thể kiểm tra số đó và khi thực thi sẽ gây ra lỗi!

Mẹo: Các số vô hạn có thể là dương vô cùng hoặc âm vô cùng. Trong Python, vô hạn được biểu diễn qua từ khóa inf -inf.

2. Ví dụ hàm math.isinf() trong Python

Ví dụ dưới đây, sử dụng hàm math.isinf() để kiểm tra xem các số dưới đây có phải là các số vô hạn hay không? Và nếu là số vô hạn thì trả về True ngược lại trả về False như sau:

import math

print (math.isinf (56))
print (math.isinf (-45.34))
print (math.isinf (+45.34))
print (math.isinf (math.inf))
print (math.isinf (float("nan")))
print (math.isinf (float("inf")))
print (math.isinf (float("-inf")))
print (math.isinf (-math.inf))

Kết quả:

False
False
False
True
False
True
True
True

Ví dụ tiếp theo, truyền vào hàm các giá trị không phải kiểu số hàm math.isinf() sẽ không thể thực hiện kiểm tra xem giá trị có phải là vô hạn hay không? Và khi đó sẽ trả về lỗi TypeError như sau:

import math

print (math.isinf ("a"))
print (math.isinf ("-45.34"))
print (math.isinf ("b"))
print (math.isinf (math.inf))
print (math.isinf (float("nan")))
print (math.isinf (float("inf")))
print (math.isinf (float("-inf")))
print (math.isinf (-math.inf))

Kết quả:

Traceback (most recent call last):
  File "./prog.py", line 3, in <module>
TypeError: must be real number, not str