파이썬은 문자열이 모든 문자가 숫자인지 여부를 테스트하는 함수를 가지고 있습니다 : string.isdigit()
. 수동에서 왜 어떻게 string.isdigit() 로케일이 필요합니까?
,이 방법은 로케일에 의존
방법이 방법은 로케일 depedent입니까? 어떤 로케일에 0-9 범위를 벗어나는 숫자가 있습니까?
또한 로캘에 따라 다르면 특정 지역 (즉, 0-9 자리 숫자)으로 파이썬을 검사하는 방법이 있습니다.
파이썬은 문자열이 모든 문자가 숫자인지 여부를 테스트하는 함수를 가지고 있습니다 : string.isdigit()
. 수동에서 왜 어떻게 string.isdigit() 로케일이 필요합니까?
,이 방법은 로케일에 의존
방법이 방법은 로케일 depedent입니까? 어떤 로케일에 0-9 범위를 벗어나는 숫자가 있습니까?
또한 로캘에 따라 다르면 특정 지역 (즉, 0-9 자리 숫자)으로 파이썬을 검사하는 방법이 있습니다.
파이썬에는 특정 로케일 (즉, 0-9 자리수) 만 검사하는 방법이 있습니다.
가장 간단한 방법 :
>>> '1' in '1234567890'
True
>>> 'a' in '1234567890'
False
당신도 ord
를 확인하실 수 있습니다, 그것은
이 빠를 수는
(isn't가) :
>>> ord('0') <= ord('a') <= ord('9')
False
>>> ord('0') <= ord('5') <= ord('9')
True
CPython과는 C 함수를 사용합니다 "isdigit에" 문자열에 대한 is_digit 메소드 (stringobject.c 참조). 관련 스레드 참조 : Can isdigit legitimately be locale dependent in C
분명히 0xB2 ('²'), 0xB3 ('³') 및 0xB9 ('¹')와 같은 위 첨자 숫자와 관련이 있습니다.
HTH
http://en.wikipedia.org/wiki/Glyphs_used_with_the_Hindu-Arabic_numeral_system#Symbols – interjay
난 그냥 실제 8 비트 문자 코드가 문자가 때로 믿을 수없는 것을, 로케일에 의존하는 것을 의미 매뉴얼을 생각한다 '0-9. – martineau