Python хэл дээрх тоо бүхэл тоо эсвэл аравтын бутархай эсэхийг тодорхойлох.
Дараах тохиолдлуудыг жишээ кодоор тайлбарлав.
- Энэ тоо нь бүхэл тоо int эсвэл хөвөгч цэгийн хөвөгч эсэхийг тодорхойлно:
isinstance()
- Хөвөгч төрлийн тоо нь бүхэл тоо эсэхийг тодорхойлно (0 аравтын орон):
float.is_integer()
- Тооны мөр бүхэл тоо эсэхийг тодорхойлно
Аравтын бутархай тооны бүхэл ба аравтын утгыг авахын тулд дараах нийтлэлийг үзнэ үү.
- ХОЛБООТОЙ:Python хэл дээр math.modf ашиглан тооны бүхэл болон аравтын хэсгүүдийг нэгэн зэрэг аваарай
Мөр нь бүхэл тоо эсвэл аравтын тоо биш харин тоо (хятад тоо гэх мэт) мөн эсэхийг тодорхойлох тухай мэдээллийг дараах нийтлэлээс үзнэ үү.
Тоо нь бүхэл тоо эсвэл хөвөгч цэгийн төрөл эсэхийг тодорхойлно:isinstance()
Объектын төрлийг суулгасан функцийн type() ашиглан олж авч болно.
i = 100
f = 1.23
print(type(i))
print(type(f))
# <class 'int'>
# <class 'float'>
isinstance(object, type)
Энэхүү суурилуулсан функц нь тухайн объект тодорхой төрлийнх эсэхийг тодорхойлоход ашиглагдаж болно. Үүнийг бүхэл тоо эсвэл хөвөгч цэгийн төрөл эсэхийг тодорхойлоход ашиглаж болно.
print(isinstance(i, int))
# True
print(isinstance(i, float))
# False
print(isinstance(f, int))
# False
print(isinstance(f, float))
# True
Энэ тохиолдолд энэ нь зөвхөн төрлийг шүүдэг тул хөвөх төрлийн утгыг бүхэл тоо (0-ын аравтын бутархайтай) эсэхийг шүүж чадахгүй.
f_i = 100.0
print(type(f_i))
# <class 'float'>
print(isinstance(f_i, int))
# False
print(isinstance(f_i, float))
# True
Хөвөгч төрлийн тоо нь бүхэл тоо эсэхийг тодорхойлно (0 аравтын орон):float.is_integer()
is_integer() аргыг float төрлийн хувьд өгсөн бөгөөд утга нь бүхэл тоо байвал үнэн, үгүй бол худал буцаана.
f = 1.23
print(f.is_integer())
# False
f_i = 100.0
print(f_i.is_integer())
# True
Жишээлбэл, бүхэл тооны хувьд үнэнийг буцаадаг функцийг дараах байдлаар тодорхойлж болно. Нөгөө талаас, мөрийн төрөл нь худал байх болно.
def is_integer_num(n):
if isinstance(n, int):
return True
if isinstance(n, float):
return n.is_integer()
return False
print(is_integer_num(100))
# True
print(is_integer_num(1.23))
# False
print(is_integer_num(100.0))
# True
print(is_integer_num('100'))
# False
Тооны мөр бүхэл тоо эсэхийг тодорхойлно
Хэрэв та бүхэл тоонуудын мөр нь бүхэл тоо гэдгийг тодорхойлохыг хүсвэл дараах функцуудыг гүйцэтгэх боломжтой.
float төрөл рүү хөрвүүлэх боломжтой утгуудын хувьд float руу хөрвүүлсний дараа is_integer() аргыг хэрэглэж, үр дүнг буцаана.
def is_integer(n):
try:
float(n)
except ValueError:
return False
else:
return float(n).is_integer()
print(is_integer(100))
# True
print(is_integer(100.0))
# True
print(is_integer(1.23))
# False
print(is_integer('100'))
# True
print(is_integer('100.0'))
# True
print(is_integer('1.23'))
# False
print(is_integer('string'))
# False
Мөрүүдийг тоо болгон хөрвүүлэх талаар дэлгэрэнгүйг дараах нийтлэлээс үзнэ үү.
Мөр нь тоо (хятад тоо гэх мэт) мөн эсэхийг тодорхойлох дэлгэрэнгүй мэдээллийг дараах нийтлэлээс үзнэ үү.