Друкарня від WE.UA

Всіх вітаю! У даній статті ми поговоримо про методи визначення вмісту рядка за допомогою таких вбудованих методів як isnumeric(), isdigit() та isdecimal(). Також ми з’ясуємо різницю між цими трьома методами та як ними корисуватися.

Метод isnumeric()

Метод isnumeric() повертає True, якщо рядок містить тільки числові значення. Якщо ж рядок не містить лише числові значеня, то метод повертає False.

Приклад 1

У першому прикладі ми просто застосовуємо метод isnumeric() до рядка price_tag, який має значення 100:

price_tag = "100"
check_string = price_tag.isnumeric()
print(check_string)
True

Тепер пропоную додати знак $ до рядка price_tag:

price_tag = "100$"
check_string = price_tag.isnumeric()
print(check_string)
False

Приклад 2

Спробуємо перевірити цей дріб:

price_tag = "½"
check_string = price_tag.isnumeric()
print(check_string)
True

Якщо ми дамо методу число у степені, то він теж поверне True:

number = "15³"
check_string = number.isnumeric()
print(f"{number} -- {check_string}")
15³ -- True

Також метод isnumeric() повертає True, якщо ми запишемо число у римській системі числення:

five = "\u2164"
check_string = five.isnumeric()
print(f"{five} -- {check_string}")
Ⅴ -- True

Рисмські цифри записуються за допомогою спеціальних Unicode кодів. Наприклад, \u2164 означає римську цифру п’ять.

Приклад 3

Далі пропоную також пройтися по кожному ціннику у списку price_tags та перевіити їх вміст:

price_tags = ["9.99", "222", "1.5"]

for tags in price_tags:
    check_string = tags.isnumeric()
    print(f"{tags} -- {check_string}")
9.99 -- False
222 -- True
1.5 -- False

Тут отримали False для “9.99” та “1.5”, так як крапка не є числом.

Метод isdigit()

Даний метод більш вузьконаправлений, адже він перевіряє рядок на те, чи містить він тільки цифри. До них він також включає й степені, які ми використовували нижче, але вона не приймає дроби або цифри в різних форматах.

Приклад 1

Отже, спочатку запишемо тільки цифри:

digits = "0123456789"
check_string = digits.isdigit()
print(f"{digits} -- {check_string}")
0123456789 -- True

Звісно, якщо ми додамо літер, то метод буде повертати False:

digits = "0123456789abcd"
check_string = digits.isdigit()
print(f"{digits} -- {check_string}")
0123456789abcd -- False

Приклад 2

Тепер пропоную подивитися на реакцію даного метода на дріб:

digits = "½"
check_string = digits.isdigit()
print(f"{digits} -- {check_string}")
½ -- False

Це і є відмінність між методами isnumeric() та isdigit(). Як вже було сказано вище, isdigit() не приймає дробів.

І цифри в римській системі числення вона також не приймає, на відміну від isnumeric():

digits = "\u2164"
check_string = digits.isdigit()
print(f"{digits} -- {check_string}")
Ⅴ -- False

Приклад 3

Якщо ж ми передамо даному методу степінь, то він успішно поверне True:

digits = "15³"
check_string = digits.isdigit()
print(f"{digits} -- {check_string}")
15³ -- True

Метод isdecimal()

Метод isdecimal() повертає True, тоді і тільки тоді, коли рядок містить лише цифри без якихось інших особливостей. Тобто даний метод не праймає ані дроби, ані степені, ані різні формати запису цифр.

Приклад 1

Ось приклад, коли ми даємо рядок з цифрами 1020304050:

digits = "1020304050"
check_string = digits.isdecimal()
print(f"{digits} -- {check_string}")
1020304050 -- True

Приклад 2

Даємо методу дріб:

digits = "½"
check_string = digits.isdecimal()
print(f"{digits} -- {check_string}")
½ -- False

Тепер степінь:

digits = "15³"
check_string = digits.isdecimal()
print(f"{digits} -- {check_string}")
15³ -- False

Приклад 3

І також цифри у римській системі числення теж не приймаються:

digits = "\u2164"
check_string = digits.isdecimal()
print(f"{digits} -- {check_string}")
Ⅴ -- False

Висновок

У якості висновку можна зазначити, що isnumeric() охоплює широкий спектр числових значень, у той час як метод isdigit() охоплює тільки цифри та степінь, а isdecimal() охоплює лише цифри без якихось особливостей.

Статті про вітчизняний бізнес та цікавих людей:

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Mystique Lord
Mystique Lord@nocturnal_reader we.ua/nocturnal_reader

Нічний читач

45Довгочити
504Прочитання
14Підписники
Підтримати
На Друкарні з 14 липня

Більше від автора

  • Створюємо надійний генератор паролів та визначаємо ентропію отриманого пароля

    Всіх вітаю! У сьогоднішній статті ми реалізуємо метод для генерації випадкових паролів та метод, який буде визначати ентропію пароля. Крім того, у цій статті ми зробимо генератор паролів реально безпечним, так як він буде заснований на генерації справжніх випадковостей.

    Теми цього довгочиту:

    Програмування
  • Генерація правдивих випадковостей за допомогою secrects та SystemRandom

    Всіх вітаю! У цій статті ми вивчимо яким чином можна генерувати правдиві випадкові числа за допомогою вбудованого модуля secrects та класу SystemRandom() у модулі random розберемося із функціоналом

    Теми цього довгочиту:

    Програмування
  • Метод replace() у Python

    Всіх вітаю! У даній статті ми розберемо вбудований метод для роботи з рядками — метод replace(). У рамках матеріалу ми наведемо три приклади роботи з даним методом та визначимо для себе суть самого метода.

    Теми цього довгочиту:

    Програмування

Це також може зацікавити:

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Це також може зацікавити: