TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #83 · 11 мај

У строки в Python есть два очень похожих метода. На столько похожих что кажется они делают одно и тоже. Это метод isdigit() и isnumeric() Давайте посмотрим зачем нам два одинаковых метода? И так ли они одинаковы? Очевидно что isdigit() говорит нам, состоит ли строка только из чисел 0-9 >>> '12'.isdigit() True >>> '12x'.isdigit() False >>> '-12'.isdigit() False >>> '12.5'.isdigit() False Можно предположить что isnumeric() делает более глубокий анализ и распознаёт в строке float или отрицательное число. >>> '15'.isnumeric() True >>> '-15'.isnumeric() False >>> '15.2'.isnumeric() False Нет, всё так же как и с другим методом. В чем же тогда разница? Для начала посмотрим следующие примеры: >>> '5'.isdigit(), '5'.isnumeric() # Обычная цифра 5 # True, True >>> '꧕'.isdigit(), '꧕'.isnumeric() # Яванская 5 # True, True >>> '෩'.isdigit(), '෩'.isnumeric() # Синхала 3 # True, True >>> '৩'.isdigit(), '৩'.isnumeric() # Бенгальская 3 # True, True >>> '༣'.isdigit(), '༣'.isnumeric() # Тибетская 3 # True, True >>> '³'.isdigit(), '³'.isnumeric() # 3 верхний индекс (степень) # True, True >>> '𝟝'.isdigit(), '𝟝'.isnumeric() # Математическая двойная 5 # True, True >>> '๔'.isdigit(), '๔'.isnumeric() # Тайская 4 # True, True >>> '➑'.isdigit(), '➑'.isnumeric() # 8 в круге # True, True А теперь примеры в которых, по мнению Python, результаты не равны >>> '¾'.isdigit(), '¾'.isnumeric() # дробь три четверти # False, True >>> '⅕'.isdigit(), '⅕'.isnumeric() # дробь одна пятая # False, True >>> '𒐶'.isdigit(), '𒐶'.isnumeric() # клинопись 3 # False, True >>> '三'.isdigit(), '三'.isnumeric() # 3 из унифицированной идеограммы # False, True >>> '⑩'.isdigit(), '⑩'.isnumeric() # цифра 10 в круге # False, True >>> 'Ⅳ'.isdigit(), 'Ⅳ'.isnumeric() # Римская 4 # False, True >>> '𑇪'.isdigit(), '𑇪'.isnumeric() # Сенегальская архаическая 10 # False, True >>> '𐌢'.isdigit(), '𐌢'.isnumeric() # Этрусская цифра 10 # False, True >>> 'ↂ'.isdigit(), 'ↂ'.isnumeric() # Римская цифра 10000 # False, True >>> '〇'.isdigit(), '〇'.isnumeric() # Символ ККЯ ноль # False, True Получается, что isdigit() говорит нам, является ли символ десятичной цифрой или спецсимволом, имеющим цифирное значение после преобразования. В свою очередь isnumeric() включает все дополнительные символы юникода которые имеют отношения к числовым и цифровым представлениям. Ну и пара примеров в которых в обоих случаях символ не является числом, это эмодзи. >>> '🕙'.isdigit(), '🕙'.isnumeric() # эмодзи 10 часов # False, False >>> '7️⃣'.isdigit(), '7️⃣'.isnumeric() # эмодзи 7 # False, False Также есть еще один дополнительный и весьма полезный метод isdecimal(). Он нам сообщает, можно ли из указанного символа сделать простую десятичную цифру. То есть сработает ли метод int(x) >>> '෩'.isdecimal(), int('෩') # Синхала 3 # True, 3 >>> '➑'.isdecimal(), int('➑') # 8 в круге # False, ValueError Какие выводы? 🔸 При определении цифры в строке isdigit() подходит лучше чем isnumeric(), но оба не гарантируют успешную конвертацию в int 🔸 Для однозначного определения возможности преобразования строки в int лучше подходит метод isdecimal() 🔸 Для однозначного определения символов 0...9 лучше использовать regex Полный список символов юникода которые определяются как numeric #basic

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #studytourexperience

当前筛选 #studytourexperience清除筛选

Study Tour Experience: Η ευκαιρία σου να ζήσεις τη φοιτητική εμπειρία σε ένα κορυφαίο πανεπιστήμιο! Θέλεις να γνωρίσεις από κοντά τη φοιτητική ζωή σε ένα από τα κορυφαία πανεπιστήμια, να συνεργαστείς με ειδικούς του HSE και να ενισχύσεις το βιογραφικό σου; Τότε το Study Tour Experience είναι ό,τι χρειάζεσαι! 🔹 Το πρόγραμμα προσφέρει δυνατότητα πρακτικής άσκησης σε σύγχρονα διεπιστημονικά πεδία: οικονομικά, διεθνείς σχέσεις, επιχειρήσεις, διοίκηση, χρηματοοικονομικά, νομική, κοινωνιολογία, πολιτικές επιστήμες και άλλα. 🔹 Θα γνωρίσεις καθηγητές και ειδικούς του Εθνικού Ερευνητικού Πανεπιστημίου Higher School of Economics (HSE), θα αποκτήσεις πολύτιμες εμπειρίες και θα γίνεις μέλος της ζωντανής φοιτητικής κοινότητας του HSE. 🔹 Μορφή διεξαγωγής: δια ζώσης (offline) και εξ αποστάσεως (online). 🔹 Γλώσσες διδασκαλίας: ρωσικά και αγγλικά. 🔹 Απευθύνεται σε αλλοδαπούς πολίτες – αποφοίτους και τελειόφοιτους προπτυχιακών προγραμμάτων, που ενδιαφέρονται να φοιτήσουν σε μεταπτυχιακά προγράμματα του HSE. Study Tour Experience: Το πρώτο σου βήμα για μια επιτυχημένη καριέρα στην HSE! 📍 Μάθε περισσότερα & υπέβαλε την αίτησή σου: https://admissions.hse.ru/studytour/ Study Tour Experience: твой шанс попробовать себя в роли студента топового вуза! Хочешь погрузиться в атмосферу учебы в одном из ведущих университетов, поработать с экспертами ВШЭ и усилить свое резюме? Тогда Study Tour Experience — это то, что тебе нужно! 🔹 Участников ждут стажировки по самым актуальным междисциплинарным направлениям: экономика, международные отношения, бизнес, менеджмент, финансы, право, социология, политология и многое другое. 🔹 Ты познакомишься с преподавателями и экспертами НИУ ВШЭ, получишь ценный опыт и станешь частью студенческого сообщества Вышки. 🔹 Формат программы: онлайн и офлайн. 🔹 Языки обучения: русский и английский. 🔹 Участие открыто для иностранных граждан — выпускников вузов и студентов последних курсов бакалавриата, которые планируют поступление на магистерские программы ВШЭ. Study Tour Experience – это твой первый шаг к успешной карьере вместе с НИУ ВШЭ! 📍 Подробности и регистрация: https://admissions.hse.ru/studytour/ #StudyTourExperience#HigherSchoolOfEconomics#HSEUniversity#ΜεταπτυχιακάHSE#ΣπουδέςΣτηΡωσία#ΔιεθνήςΚαριέρα#OnlineEducation#ВысшаяШколаЭкономики#НИУВШЭ#Образование#Магистратура#ВШЭ#КарьерныйСтарт#StudyInRussia#OnlineEducation#HSEUniversity