Python хэл дээрх тоо бүхэл тоо эсвэл аравтын бутархай эсэхийг тодорхойлох

Бизнес эрхэлдэг

Python хэл дээрх тоо бүхэл тоо эсвэл аравтын бутархай эсэхийг тодорхойлох.

Дараах тохиолдлуудыг жишээ кодоор тайлбарлав.

  • Энэ тоо нь бүхэл тоо int эсвэл хөвөгч цэгийн хөвөгч эсэхийг тодорхойлно:isinstance()
  • Хөвөгч төрлийн тоо нь бүхэл тоо эсэхийг тодорхойлно (0 аравтын орон):float.is_integer()
  • Тооны мөр бүхэл тоо эсэхийг тодорхойлно

Аравтын бутархай тооны бүхэл ба аравтын утгыг авахын тулд дараах нийтлэлийг үзнэ үү.

Мөр нь бүхэл тоо эсвэл аравтын тоо биш харин тоо (хятад тоо гэх мэт) мөн эсэхийг тодорхойлох тухай мэдээллийг дараах нийтлэлээс үзнэ үү.

Тоо нь бүхэл тоо эсвэл хөвөгч цэгийн төрөл эсэхийг тодорхойлно: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

Мөрүүдийг тоо болгон хөрвүүлэх талаар дэлгэрэнгүйг дараах нийтлэлээс үзнэ үү.

Мөр нь тоо (хятад тоо гэх мэт) мөн эсэхийг тодорхойлох дэлгэрэнгүй мэдээллийг дараах нийтлэлээс үзнэ үү.

Copied title and URL