본문 바로가기
Python 파이썬/기초 & 내장모듈

python ) 문자열 다루기

by 하이방가루 2022. 3. 4.
728x90
반응형

문자열 입력하기 '내용', "내용", """내용""", ("내용" "내용" "내용")

  '내용'"내용"은 기본적으로 같다. 다만 내용에 이스케이프 문자 없이 작은따옴표(')를 사용할 수 있는지  큰따옴표(")를 쓸 수 있는지만 다르다.

  ex) print(' "안녕하세요" ') -> "안녕하세요"

    print(" "안녕하세요" ") -> SyntaxError

    print(' '안녕하세요' ") -> SyntaxError

    print(" '안녕하세요' ") -> '안녕하세요'

 

  """내용"""

    안에 줄바꿈이 그대로 적용된다.

    ex)print("""동해물과 백두산이

마르고 닳도록

하느님이 보우하사""")

-> 동해물과 백두산이 

마르고 닳도록

하느님이 보우하사

 

  ("내용" "내용" "내용")

    각각의 문자열을 연결하여 반환한다.

    ex) print(("동해물과 백두산이 "

            "마르고 닳도록 "

            "하느님이 보우하사"))

-> 동해물과 백두산이 마르고 닳도록 하느님이 보우하사

 

문자열 연결 연산자 +

  두 문자열을 연결하여 새로운 문자열을 만든다.

  ex) print( "안녕" + "하세요") -> 안녕하세요

    print("안녕하세요" + "!") -> 안녕하세요!

    print("낭랑" + 18 + "세") -> TypeError(자료형 오류) 파이썬에서는 자료형이 다르면 + 연산자가 작동할 수 없다.

 

문자열 반복 연산자 *

  문자열을 반복하여 새로운 문자열을 만든다

  ex) print("안녕" * 3) -> 안녕안녕안녕

    print(3 * "안녕") -> 안녕안녕안녕

    print("안녕" * 3 + "하세요") -> * 연산자가 + 연산자 보다 우선순위가 높기때문에 * 연산자가 먼저 작동하여 print("안녕안녕안녕" + "하세요") 결과가 나오고 + 연산자가 작동해 print("안녕안녕안녕하세요") 가 되어 최종적으로 안녕안녕안녕하세요 가 출력된다.

 

문자 선택 연산자(인덱싱) [ ]

  문자열 내부의 문자 하나를 선택하는 연산자

  대괄호 안에는 선택할 순서(인덱스)를 숫자로 넣어야 한다.

  인덱스는 0부터 시작하고 -를 사용하면 끝에서 1부터 하나씩 선택할 수 있다.

  ex) print("안녕하세요"[0]) -> 안

    print("안녕하세요"[4]) -> 요

    print("안녕하세요"[-1]) -> 요

    print("안녀하세요"[5]) -> IndexError(index out of range) 예외발생 : 리스트/문자열의 수를 넘는 부분을 선택하였을 때 발생한다.

 

문자열 범위 선택 연산자(슬라이싱) [ : ]

  문자열의 특정 범위를 선택하는 연산자

  슬라이싱은 인덱스를 생략하여 넣을 수 있으면 : 를 기준으로 앞을 생략하면 처음부터 뒤를 생략하면 끝까지 선택된다.

  : 뒤에 인덱스를 넣을 경우 해당 인덱스는 포함하지 않는다.

  ex) print("안녕하세요"[ : ]) -> 안녕하세요

    print("안녕하세요"[ : 2 ]) -> 안녕 : 처음부터 x개의 문자를 보여주려고 할 때 쓰면 편하다.

    print("안녕하세요"[ 2 : ]) -> 하세요

    print("안녕하세요"[ 2 : -1 ]) -> 하세

 

len( )

  문자열/리스트의 길이를 구할 때 쓰는 함수이다.

  ex) print( len("안녕하세요") ) -> 5

    print("안녕하세요"[ : len("안녕하세요")-3 ]) -> 안녕

  **파이썬2에서는 문자열의 실제 바이트 수를 구하기 때문에 한글의 경우 파이썬3와 결과가 다르게 나온다.

    ex)파이썬2 - len("안녕하세요") -> 15 ; 한글은 한글자당 3바이트를 차지한다.

  

"{} {}".format( 자료, 자료)

  문자열에 {}에 값을 넣는다.

  문자열의 {}개수보다 적게 값을 넣으면 IndexError가 발생한다. 많이 넣는 것은 상관없다.

  ex) print( "오늘은 {}월 {}일 입니다.".format( 3, 4, 5, 6) )

-> 오늘은 3월 4일 입니다.

    print( "오늘은 {}월 {}일 입니다.".format( 3 ))

-> IndexError

 

"문자열".join( [ "문자열1, "문자열2", "문자열3" ] )

  각각의 내용들 사이에 문자를 넣으면서 연결하여 준다.

  ex) "/".join(['2022', '03', '04']) -> 2022/03/04

 

문자열의 구성 파악하기 "문자열".is00()

  isalnum()

    문자열이 알파벳 또는 숫자로만 구성되어 있는지 확인한다.

 

  isalpha()

    문자열이 알파벳으로만 구성되어 있는지 확인한다.

 

  isdecimal()

    문자열이 정수 형태인지 확인한다.

 

  isdigit()

    문자열이 숫자로 인식될 수 있는 것인지 확인한다.(특수유니코드문자포함-아래첨자,윗첨자,도형안에 숫자만 들어간 문자)

 

  isnumeric()

    문자열이 숫자로 인식될 수 있는 것인지 확인한다.(특수유니코드문자,기호,단위,통화단위 포함)

 

  isspace()

    문자열이 공백으로만 구성되어 있는지 확인한다.

 

  islower()

    문자열이 알파벳 소문자로만 구성되어 있는지 확인한다.

 

  isupper()

    문자열이 알파벳 대문자로만 구성되어 있는지 확인한다.

  

728x90
반응형

댓글