• 2020. 6. 10.

    by. 윈썸지니

    반응형

    출처: pixabay

    이번 포스팅은 파이썬에서 문자열의 내용이 숫자인지? 대소문자인지? 등의 답을 True/False 로 반환해 주는 메소드들에 대해 다룹니다.

     

    쓰임새가 별로 없을 것 같지만 입력되는 데이터의 비교를 위해 모두 대문자로 변경하기 위해 사용하기도 합니다.

    코딩을 하다보면 문명 사용하는 경우가 있으니 만들었을 겁니다.

    본 포스팅은 이런게 있으니 기억해 두었다가 나중에 써 먹자 등의 개념으로 봐주세요.

     

    대소문자 확인

     

    Isupper() : 문자열이 대문자로 구성 되었는지 참/거짓의 값은 반환합니다.

    islower() : 문자열이 소문자로 구성 되었는지 참/거짓의 값은 반환합니다

     

    공백은 엄밀히 말하면 대문자도 소문자도 아닙니다. 공백은 포함 시키지 않습니다.

    여기서 궁금증이 발생하여 특수문자(기호)도 넣어 보았습니다.

    문장 중간에 포함 시키면 알파벳만으로 판단을 하지만 알파벳이 없이 기호만 넣으면 False 값을 반환하네요.

    >>> "Hello World".isupper()
    False
    >>> "HELLO WORLD".isupper()
    True
    >>> "Hello World".islower()
    False
    >>> "hello workld".islower()
    True
    >>> "가나다".isupper()
    False
    >>> "hello@world".islower()
    True
    >>> "hello#world".islower()
    True
    >>> "hello*&()!$^world".islower()
    True
    >>> "!@#$%^&*(){}[]".isupper()
    False
    >>> "!@#$%^&*(){}[]".islower()
    False
    >>> "!@#$%^&*(){}".islower()
    False
    >>> "!@#$%^&*".islower()
    False
    >>> "!".islower()
    False
    >>>

     

    숫자관련 확인

     

    Isdeciaml() : integer로 변경 가능한 문자열이면 True그렇치 않으면 False를 반환합니다.

    Isdigit() : decimal보다는 넓은 의미로 과 같은 숫자로 인식할 수 있는 특수 기호 까지 True를 반환합니다.

    Isnumeric() : digit 보다 더 넓은 의미로 ¼ 와 같은 특수 문자도 인정을 해 줍니다.

     

    아래의 예를 살펴보세요.

    그런데 소수점이 있는 문자열은 어떤 매소드를 사용해도 모두 False 를 반환합니다.

    >>> "123".isdecimal()
    True
    >>> "123".isdigit()
    True
    >>> "123".isnumeric()
    True
    >>> "4²".isdecimal()
    False
    >>> "4²".isdigit()
    True
    >>> "4²".isnumeric()
    True
    >>>
    >>> "¼".isdecimal()
    False
    >>> "¼".isdigit()
    False
    >>> "¼".isnumeric()
    True
    >>> "0.25".isnumeric()
    False

     

     

    문자 /숫자 인지 확인

     

    isalnum() : 문자열이 알파벳과 숫자로만 있으면 True를 그렇지 않으면 False를 반환합니다.

    isalpha() : 문자열리 알파벳으로만 되어 있으면 True를 그렇지 않으면 False반환합니다.

     

    아래 예시에서 볼수 있듯이 공백도 체크를 합니다. 오로지 알파벳 또는 숫자로 구성되어 있는지 확인합니다.

    >>> "123".isalnum()
    True
    >>> "123".isalpha()
    False
    >>> "hello 123".isalnum()
    False
    >>> "hello 123".isalpha()
    False
    >>> "hello123".isalnum()
    True
    >>> "hello123".isalpha()
    False
    >>> "hello".isalpha()
    True
    >>> "hello world".isalpha()
    False

     

    isspace

     

    문자열이 공백으로 되어 있는지 확인하는 것으로 공백으로 되어 있으면 True를 그렇지 않으면 False를 반환합니다.
    \n, \t
    newlinetab 이므로 공백으로 인정합니다.

    >>> " ".isspace()
    True
    >>> " \n".isspace()
    True
    >>> "".isspace()
    False
    >>> " \t".isspace()
    True
    >>>

    istitle

     

    문자열이 타이틀에 맞는지 확인하는 것으로 단어의 첫자만 대문자인지를 확인합니다.

    >>> "Hello World".istitle()
    True
    >>> "hello World".istitle()
    False
    >>> "Hello wprld".istitle()
    False
    >>> "Hello WOrld".istitle()
    False
    >>>

    isidentifier

     

    파이썬에서 식별자로 사용 가능한지를 판별합니다. 식별자는 변수, 클래스명등에 해당합니다.

    변수명과 클래스명을 만들 수 없는 조건을 변수의 의미와 만들기에서 언급한 적이 있습니다.

    이전 포스팅 참고하세요. 그리고 예약어도 가능한 것이 있지만 이왕이면 사용하지 않는 것이 좋습니다.

    >>> "_init_".isidentifier()
    True
    >>> "0_val".isidentifier()
    False
    >>> "-val".isidentifier()
    False
    >>> "#val".isidentifier()
    False
    >>> "@val".isidentifier()
    False
    >>> "Value".isidentifier()
    True

    Isdecimal, isupper, islower 등은 제법 많이 사용된답니다.

     

    파이썬에서 문자열 내용 판별하는 메소드등에 대해 알아 보았습니다.

    반응형