Друкарня від 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() охоплює лише цифри без якихось особливостей.

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

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

Нічний читач

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

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

  • Клас itemgetter() у модулі operator

    Всіх вітаю! У даній статті ми продовжимо тему спеціальних властивостей словників у Python. На цей раз ми поговоримо про модуль operator та його клас itemgetter(), яка дозволяє працювати зі списками та словниками у Python.

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

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

    Всіх вітаю! Сьогодні ми розглянемо метод split() у Python та побачимо, як використовувати її на прикладах.

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

    Програмування
  • Створюємо стовпчикові графіки за допомогою plotly

    Всіх вітаю! У цій статті пропоную вам зануритися у графіки та візуалізацію на Python за допомогою plotly. На цей раз ми втілимо графік прослуховувань різних реп виконавців за місяць та графік з оцінками деяких альбомів за сайтом AOTY.

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

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

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

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

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

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