Ch2-2. 문자열 자료형

jhy·2022년 12월 9일
0

Python

목록 보기
4/5
post-thumbnail

1. 문자열이란?

  • 문자열(String)
    • 문자, 단어 등으로 구성된 문자들의 집합

      "Life is too short, You need Python"
      "a"
      "123"
    • 따옴표로 둘러싸여 있으면 모두 문자열

2. 문자열 사용

  • 파이썬에서 문자열을 만드는 방법 4가지

    1. 큰따옴표(")로 양쪽 둘러싸기

    "Hello World"
    

    2. 작은따옴표(')로 양쪽 둘러싸기

    'Python is fun'
    

    3. 큰따옴표 3개를 연속(""")으로 써서 양쪽 둘러싸기

    """Life is too short, You need python"""

    4. 작은따옴표 3개를 연속(''')으로 써서 양쪽 둘러싸기

    '''Life is too short, You need python'''
  • 문자열 안에 작은따옴표나 큰따옴표를 포함시키고 싶을 때

    • 문자열을 만들어 주는 주인공은 작은따옴표(')와 큰따옴표(")

    • 문자열 안에도 작은따옴표와 큰따옴표가 들어 있어야 할 경우

      1. 문자열에 작은따옴표 (') 포함시키기

      Python's favorite food is perl
      • 문자열을 food 변수에 저장하고 싶다고 가정

      • 문자열 중 Python's에 작은따옴표(')가 포함되어 있음

        • 이럴 때는 문자열을 큰따옴표(")로 둘러싸야 함
      • 큰따옴표 안에 들어 있는 작은따옴표는 문자열을 나타내기 위한 기호로 인식되지 않음

        >>> food = "Python's favorite food is perl"
      • 프롬프트에 food를 입력해서 결과 확인

        • 변수에 저장된 문자열이 그대로 출력되는 것을 볼 수 있음

          >>> food
          "Python's favorite food is perl"
      • 큰따옴표(")가 아닌 작은따옴표(')로 문자열을 둘러싼 후 다시 실행

      • 'Python'이 문자열로 인식되어 구문 오류(SyntaxError) 발생

        >>> food = 'Python's favorite food is perl'
          File "<stdin>", line 1
            food = 'Python's favorite food is perl'
                           ^
        SyntaxError: invalid syntax

      2. 문자열에 큰따옴표 (") 포함시키기

      "Python is very easy." he says.
      • 큰따옴표(")가 포함된 문자열의 경우 작은따옴표(')로 둘러싸면 됨
        >>> say = '"Python is very easy." he says.'
      • 작은따옴표(') 안에 사용된 큰따옴표(")는 문자열을 만드는 기호로 인식되지 않음

      3. 백슬래시(\) 사용

      >>> food = 'Python\'s favorite food is perl'
      >>> say = "\"Python is very easy.\" he says."
      • 백슬래시(\)를 작은따옴표(')나 큰따옴표(") 앞에 삽입
        • 문자열을 둘러싸는 기호의 의미가 아니라 문자 ('), (") 그 자체를 뜻하게 됨
  • 여러 줄인 문자열을 변수에 대입하고 싶을 때

    여러 줄의 문자열을 변수에 대입하려면 어떻게 처리해야 할까?

    Life is too short
    You need python

    1. 줄을 바꾸기 위한 이스케이프 코드 \n

    >>> multiline = "Life is too short\nYou need python"

    2. 연속된 작은따옴표 3개(''') 또는 큰따옴표 3개(""")

    >>> multiline='''
    ... Life is too short
    ... You need python
    ... '''
    • 작은따옴표 3개를 사용한 경우

      >>> multiline="""
      ... Life is too short
      ... You need python
      ... """
    • 큰따옴표 3개를 사용한 경우

    • print(multiline)을 입력해서 출력 확인

      >>> print(multiline)
      Lifeis too short
      You need python
    • 문자열이 여러 줄인 경우 이스케이프 코드를 쓰는 것보다 따옴표를 연속해서 쓰는 게 훨씬 깔끔함

  • 이스케이프(escape) 코드란?

    • 문자열 예제에서 여러 줄의 문장을 처리할 때
      • 백슬래시 문자와 소문자 n을 조합한 \n 이스케이프 코드 사용
    • 이스케이프 코드
      • 프로그래밍할 때 사용할 수 있도록 미리 정의해 둔 "문자 조합"
      • 주로 출력물을 보기 좋게 정렬하는 용도로 사용
    • 몇 가지 이스케이프 코드
      코드 설명
      \n문자열 안에서 줄을 바꿀 때 사용
      \t문자열 사이에 탭 간격을 줄 때 사용
      \문자 \를 그대로 표현할 때 사용
      \'작은따옴표(')를 그대로 표현할 때 사용
      \"큰따옴표(")를 그대로 표현할 때 사용
      \r캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동)
      \f폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동)
      \a벨 소리(출력할 때 PC 스피커에서 '삑' 소리가 난다)
      \b백 스페이스
      \000널 문자
    • \n\t\\\'\" 은 활용빈도 높음

3. 문자열 연산

  • 문자열 더해서 연결하기(Concatenation)

    >>> head = "Python"
    >>> tail = " is fun!"
    >>> head + tail
    'Python is fun!'
    
    • head + tail

      • "Python"이라는 head 변수와 " is fun!"이라는 tail 변수를 더한 것
      • 결과 : 'Python is fun!'
    • 즉 head와 tail 변수가 +에 의해 합쳐진 것

  • 문자열 곱하기

    >>> a = "python"
    >>> a * 2
    'pythonpython'
    
    • 위 소스에서 *의 의미

      • 일반적으로 사용하는 숫자 곱하기의 의미와는 다름
      • 문자열의 반복을 뜻하는 의미로 사용되었음
    • 위 소스 코드에서 a * 2 문장

      • a를 두 번 반복하라
  • 문자열 곱하기 응용

      ```python
      # multistring.py
      
      print("=" * 50)
      print("My Program")
      print("=" * 50)
      ```
      
    • C:\doit 디렉터리에 파일 이름 multistring.py로 저장 후 실행

    • [윈도우 + R(실행) → cmd 입력 → Enter]를 눌러 명령 프롬프트 창에 입력 후 결괏값

      C:\Users>cd C:\doit
      C:\doit>python multistring.py
      ==================================================
      My Program
      ==================================================
  • 문자열 길이 구하기

    • len 함수

      • print 함수처럼 파이썬의 기본 내장 함수
      • 문자열의 길이 구하는 함수
      >>> a = "Life is too short"
      >>> len(a)
      17

4. 문자열 인덱싱과 슬라이싱

  • 인덱싱(Indexing)

    • 무엇인가를 "가리킨다"
  • 슬라이싱(Slicing)

    • 무엇인가를 "잘라낸다"
  • 문자열 인덱싱이란?

    >>> a = "Life is too short, You need Python"
    • 변수 a에 저장한 문자열의 각 문자마다 번호 매김

      Life is too short, You need Python
      0         1         2         3
      0123456789012345678901234567890123
    • "Life is too short, You need Python" 문자열

      • L은 첫 번째 자리를 뜻하는 숫자 0,
      • 바로 다음인 i는 1 이런 식으로 계속 번호를 붙인 것
      • 중간에 있는 short의 s는 12
    • 실행

      ```python
      >>> a = "Life is too short, You need Python"
      >>> a[3]
      'e'
      ```
      
      - a[3]
      - a라는 문자열의 네 번째 문자 e

      "파이썬은 0부터 숫자를 센다."

    • 파이썬 관점에서의 위 문자열

      a[0]:'L', a[1]:'i', a[2]:'f', a[3]:'e', a[4]:' ', ...
      • a[번호] (”인덱싱”)
        • 문자열 안의 특정한 값을 뽑아내는 역할
  • 문자열 인덱싱 활용

    • 인덱싱 예 1

      >>> a = "Life is too short, You need Python"
      >>> a[0]
      'L'
      >>> a[12]
      's'
      >>> a[-1]
      'n'
      
      • a[-1]의 뜻
        • 문자열을 뒤에서부터 읽기 위해 마이너스(-) 기호를 붙이는 것
        • 즉 a[-1]은 뒤에서부터 세어 첫 번째가 되는 문자
      • a의 값은 "Life is too short, You need Python" 문자열
        • 뒤에서부터 첫 번째 문자는 가장 마지막 문자 'n'
    • 뒤에서부터 첫 번째 문자를 표시할 때도 0부터 세어 "a[-0]이라고 해야 하지 않을까?

      • 0과 -0은 똑같은 것이기 때문에 a[-0]은 a[0]과 똑같은 값을 보여 줌

        >>> a[-0]
        'L'
    • 인덱싱 예 2

      >>> a[-2]
      'o'
      >>> a[-5]
      'y'
      
    • 첫 번째 예 : 뒤에서부터 두 번째 문자를 가리키는 것

    • 두 번째 예 : 뒤에서부터 다섯 번째 문자를 가리키는 것

  • 문자열 슬라이싱이란?

    • 문자열에서 단순히 한 문자만을 뽑아내는 것이 아니라 단어를 뽑아내는 방법
      >>> a = "Life is too short, You need Python"
      >>> b = a[0] + a[1] + a[2] + a[3]
      >>> b
      'Life'
    • 슬라이싱(Slicing) 기법 사용
      >>> a = "Life is too short, You need Python"
      >>> a[0:4]
      'Life'
      • a[0:4]
      • a 문자열, 즉 "Life is too short, You need Python" 문장에서 자리 번호 0부터 4까지의 문자를 뽑아낸다
    • a[0]은 L, a[1]은 i, a[2]는 f, a[3]은 e니까 a[0:3]으로도 Life라는 단어를 뽑아낼 수 있지 않을까?
      >>> a[0:3]
      'Lif'
    • 슬라이싱 기법으로 a[시작 번호:끝 번호]를 지정할 때 끝 번호에 해당하는 것은 포함하지 않기 때문
    • a[0:3]을 수식으로 나타낸 것
      0 <= a < 3
    • 이 수식을 만족하는 것은 a[0], a[1], a[2]
      • 따라서 a[0:3]은 'Lif', a[0:4]는 'Life'가 되는 것
  • 문자열을 슬라이싱하는 방법

    • 슬라이싱 예
      >>> a[0:5]
      'Life '
      • 위 예는 a[0] + a[1] + a[2] + a[3] + a[4]와 동일
      • a[4]는 공백 문자
        • 'Life'가 아닌 'Life '가 출력
      • 공백 문자 역시 L, i, f, e 같은 문자와 동일하게 취급
      • 'Life'와 'Life '는 완전히 다른 문자열
    • 슬라이싱할 때 항상 시작 번호가 0일 필요는 없음
      >>> a[0:2]
      'Li'
      >>> a[5:7]
      'is'
      >>> a[12:17]
      'short'
    • a[시작 번호:끝 번호]에서 끝 번호 부분 생략
      • 시작 번호부터 그 문자열의 끝까지 뽑아냄

        >>> a[19:]
        'You need Python'
    • a[시작 번호:끝 번호]에서 시작 번호 생략
      • 문자열의 처음부터 끝 번호까지 뽑아냄

        >>> a[:17]
        'Life is too short'
    • a[시작 번호:끝 번호]에서 시작 번호와 끝 번호 생략
      • 문자열의 처음부터 끝까지를 뽑아냄

        >>> a[:]
        'Life is too short, You need Python'
    • 슬라이싱에서도 인덱싱과 마찬가지로 마이너스(-) 기호를 사용 가능
      >>> a[19:-7]
      'You need'
      • a[19:-7]
        • a[19]에서부터 a[-8]까지 나타냄
        • 이 역시 a[-7]은 포함하지 않음
  • 슬라이싱으로 문자열 나누기

    >>> a = "20010331Rainy"
    >>> date = a[:8]
    >>> weather = a[8:]
    >>> date
    '20010331'
    >>> weather
    'Rainy'
    • 문자열 a를 두 부분으로 나누는 기법
    • 숫자 8을 기준으로 문자열 a를 양쪽으로 한 번씩 슬라이싱
    • a[:8]은 a[8]이 포함되지 않고, a[8:]은 a[8]을 포함하기 때문에 8을 기준으로 해서 두 부분으로 나눌 수 있음
```python
>>> a = "20010331Rainy"
>>> year = a[:4]
>>> day = a[4:8]
>>> weather = a[8:]
>>> year
'2001'
>>> day
'0331'
>>> weather
'Rainy'
```
  • "Pithon"이라는 문자열을 "Python"으로 바꾸려면?
    ```python
    >>> a = "Pithon"
    >>> a[1]
    'i'
    >>> a[1] = 'y'
    ```
    • 문자열 자료형은 그 요솟값을 변경할 수 없으므로 오류 발생

      • immutable한 자료형).
    • 슬라이싱 기법을 사용

      >>> a = "Pithon"
      >>> a[:1]
      'P'
      >>> a[2:]
      'thon'
      >>> a[:1] + 'y' + a[2:]
      'Python'
      • "Pithon" 문자열을 'P' 부분과 'thon' 부분으로 나눌 수 있기 때문에 그 사이에 'y' 문자를 추가하여 'Python'이라는 새로운 문자열을 생성 가능

5. 문자열 포매팅

  • 문자열 포매팅(Formatting)

    • 문자열 안의 특정한 값을 바꿔야 할 경우가 있을 때 이것을 가능하게 해주는 것

    • 문자열 안에 어떤 값을 삽입하는 방법

  • 문자열 포매팅 따라 하기

    1. 숫자 바로 대입

    >>> "I eat %d apples." % 3
    'I eat 3 apples.'
    • 문자열 안에서 숫자를 넣고 싶은 자리에 %d 문자를 넣어 주고, 삽입할 숫자 3은 가장 뒤에 있는 % 문자 다음에 써 넣음
    • %d : 문자열 포맷 코드

    2. 문자열 바로 대입

    >>> "I eat %s apples." % "five"
    'I eat five apples.'
    • 숫자를 넣기 위해서는 %d, 문자열을 넣기 위해서는 %s를 써야 함

      ※ 문자열을 대입할 때는 앞에서 배운 것처럼 큰따옴표나 작은따옴표를 반드시 사용해야 함

    3. 숫자 값을 나타내는 변수로 대입

    >>> number = 3
    >>> "I eat %d apples." % number
    'I eat 3 apples.'
    

    4. 2개 이상의 값 넣기

    • 2개 이상의 값을 넣으려면 마지막 % 다음 괄호 안에 콤마(,)로 구분

      >>> number = 10
      >>> day = "three"
      >>> "I ate %d apples. so I was sick for %s days." % (number, day)
      'I ate 10 apples. so I was sick for three days.'
      
  • 문자열 포맷 코드

    코드설명
    %s문자열(String)
    %c문자 1개(character)
    %d정수(Integer)
    %f부동소수(floating-point)
    %o8진수
    %x16진수
    %%Literal % (문자 % 자체)
    • %s 포맷 코드는 어떤 형태의 값이든 변환해 넣을 수 있음

      >>> "I have %s apples" % 3
      'I have 3 apples'
      >>> "rate is %s" % 3.234
      'rate is 3.234'
      
      • 3을 문자열 안에 삽입하려면 %d를 사용
      • 3.234를 삽입하려면 %f를 사용
        • %s는 자동으로 % 뒤에 있는 값을 문자열로 바꾸기 때문
    • 포매팅 연산자 %d와 %를 같이 쓸 때는 %%

      >>> "Error is %d%." % 98
      Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      ValueError: incomplete format
      • 문자열 포맷 코드인 %d와 %가 같은 문자열 안에 존재하는 경우, %를 나타내려면 반드시 %%로 써야 하는 법칙이 있기 때문

      • 문자열 안에 %d 같은 포매팅 연산자가 없으면 %는 홀로 쓰여도 상관 없음

        >>> "Error is %d%%." % 98
        'Error is 98%.'
  • 포맷 코드와 숫자 함께 사용하기

    • %d, %s 등의 포맷 코드는 문자열 안에 어떤 값을 삽입하기 위해 사용

    1. 정렬과 공백

    >>> "%10s" % "hi"
    '        hi'
    
    • %10s

      • 전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬하고 그 앞의 나머지는 공백으로 남겨 둬라
    • 반대쪽인 왼쪽 정렬은 %-10s

      >>> "%-10sjane." % 'hi'
      'hi        jane.'
      

    2. 소수점 표현하기

    • 3.42134234를 소수점 네 번째 자리까지만 나타내고 싶은 경우

      >>> "%0.4f" % 3.42134234
      '3.4213'
      
      • '.' : 소수점 포인트
      • 그 뒤의 숫자 4 : 소수점 뒤에 나올 숫자의 개수
      >>> "%10.4f" % 3.42134234
      '    3.4213'
      
    • 3.42134234를 소수점 네 번째 자리까지만 표기, 전체 길이가 10개인 문자열 공간에서 오른쪽 정렬

  • format 함수를 사용한 포매팅

    • 숫자 바로 대입

      >>> "I eat {0} apples".format(3)
      'I eat 3 apples'
    • 문자열 바로 대입

      >>> "I eat {0} apples".format("five")
      'I eat five apples'
    • 숫자 값을 가진 변수로 대입

      >>> number = 3
      >>> "I eat {0} apples".format(number)
      'I eat 3 apples'
    • 2개 이상의 값 넣기

      >>> number = 10
      >>> day = "three"
      >>> "I ate {0} apples. so I was sick for {1} days.".format(number, day)
      'I ate 10 apples. so I was sick for three days.'
      • 2개 이상의 값을 넣을 경우 문자열의 인덱스 항목이 format 함수의 입력값으로 순서에 맞게 바뀜
      • 즉 위 예에서 {0}은 format 함수의 첫 번째 입력값인 number로, {1}은 format 함수의 두 번째 입력값인 day로 바뀜
    • 이름으로 넣기

      >>> "I ate {number} apples. so I was sick for {day} days.".format(number=10, day=3)
      'I ate 10 apples. so I was sick for 3 days.'
      • {name} 형태를 사용할 경우 format 함수에는 반드시 name=value 와 같은 형태의 입력값이 있어야 함
      • 문자열의 {number}, {day}가 format 함수의 입력값인 number=10, day=3 값으로 각각 바뀜
    • 인덱스와 이름을 혼용해서 넣기

      >>> "I ate {0} apples. so I was sick for {day} days.".format(10, day=3)
      'I ate 10 apples. so I was sick for 3 days.'
    • 왼쪽 정렬

      >>> "{0:<10}".format("hi")
      'hi        '
      • :<10 표현식
        • 치환되는 문자열을 왼쪽으로 정렬
        • 문자열의 총 자릿수 10
    • 오른쪽 정렬

      >>> "{0:>10}".format("hi")
      '        hi'
      • :> : 오른쪽 정렬
    • 가운데 정렬

      >>> "{0:^10}".format("hi")
      '    hi    '
      
      • :^ : 가운데 정렬
    • 공백 채우기

      >>> "{0:=^10}".format("hi")
      '====hi===='
      >>> "{0:!<10}".format("hi")
      'hi!!!!!!!!'
      • 정렬할 때 공백 문자 대신에 지정한 문자 값으로 채워 넣는 것도 가능하다.
      • 채워 넣을 문자 값은 정렬 문자 <, >, ^ 바로 앞에 넣어야 한다.
      • 첫 번째 예제
        - 가운데(^)로 정렬, 공백을 = 문자로 채움
      • 두 번째 예제
        - 왼쪽(<)으로 정렬, 공백을 ! 문자로 채움
    • 소수점 표현하기

      • format 함수를 사용해 소수점을 4자리까지만 표현

        >>> y = 3.42134234
        >>> "{0:0.4f}".format(y)
        '3.4213'
      • 자릿수를 10으로 맞춤

        >>> "{0:10.4f}".format(y)
        '    3.4213'
    • { 또는 } 문자 표현하기

      >>> "{{ and }}".format()
      '{ and }'
      
      • format 함수를 사용해 문자열 포매팅을 할 경우

        • { }와 같은 중괄호(brace) 문자
      • 포매팅 문자가 아닌 문자 그대로 사용하고 싶은 경우

        • {{ }}처럼 2개를 연속해서 사용
  • f 문자열 포매팅

    • 문자열 앞에 f 접두사를 붙이면 f 문자열 포매팅 기능 사용 가능

      >>> name = '홍길동'
      >>> age = 30
      >>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
      '나의 이름은 홍길동입니다. 나이는 30입니다.'
    • f 문자열 포매팅

      • name, age와 같은 변수 값을 생성한 후에 그 값을 참조 가능
      • 또한 f 문자열 포매팅은 표현식을 지원

      ※ 표현식 : 문자열 안에서 변수와 +, -와 같은 수식을 함께 사용하는 것

      >>> age = 30
      >>> f'나는 내년이면 {age+1}살이 된다.'
      '나는 내년이면 31살이 된다.'
    • 딕셔너리를 f 문자열 포매팅에서 사용

      ※ 딕셔너리 : Key와 Value라는 것을 한 쌍으로 갖는 자료형

      >>> d = {'name':'홍길동', 'age':30}
      >>> f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.'
      '나의 이름은 홍길동입니다. 나이는 30입니다.'
    • 정렬

      >>> f'{"hi":<10}'  # 왼쪽 정렬
      'hi        '
      >>> f'{"hi":>10}'  # 오른쪽 정렬
      '        hi'
      >>> f'{"hi":^10}'  # 가운데 정렬
      '    hi    '
    • 공백 채우기

      >>> f'{"hi":=^10}'  # 가운데 정렬하고 '=' 문자로 공백 채우기
      '====hi===='
      >>> f'{"hi":!<10}'  # 왼쪽 정렬하고 '!' 문자로 공백 채우기
      'hi!!!!!!!!'
    • 소수점

      >>> y = 3.42134234
      >>> f'{y:0.4f}'  # 소수점 4자리까지만 표현
      '3.4213'
      >>> f'{y:10.4f}'  # 소수점 4자리까지 표현하고 총 자리수를 10으로 맞춤
      '    3.4213'
      >>> f'{{ and }}'
      '{ and }'

6. 문자열 관련 함수들

  • 문자열 자료형

    • 자체적으로 함수를 가지고 있음
    • 다른 말로 문자열 내장 함수
    • 내장 함수를 사용하려면 문자열 변수 이름 뒤에 ‘.’를 붙인 다음에 함수 이름을 써주면 됨
  • 문자 개수 세기 (count)

    • 문자열 중 문자 b의 개수를 돌려줌
      >>> a = "hobby"
      >>> a.count('b')
      2
  • 위치 알려주기 1 (find)

    • 문자열 중 문자 b가 처음으로 나온 위치를 반환

    • 만약 찾는 문자나 문자열이 존재하지 않는다면 -1을 반환

      ```python
      >>> a = "Python is the best choice"
      >>> a.find('b')
      14
      >>> a.find('k')
      -1
      ```

      ※ 파이썬은 숫자를 0부터 세기 때문에 b의 위치는 15가 아닌 14

  • 위치 알려주기 2 (index)

    • 문자열 중 문자 t가 맨 처음으로 나온 위치를 반환
    • 만약 찾는 문자나 문자열이 존재하지 않는다면 오류를 발생
    • 앞의 find 함수와 다른 점
      • 문자열 안에 존재하지 않는 문자를 찾으면 오류가 발생한다는 점

        >>> a = "Life is too short"
        >>> a.index('t')
        8
        >>> a.index('k')
        Traceback (most recent call last):
        File "<stdin>", line 1,in <module>
        ValueError: substringnot found
  • 문자열 삽입 (join)

    • join 함수
      • 각각의 문자 사이에 ','를 삽입

      • 문자열뿐만 아니라 앞으로 배울 리스트나 튜플도 입력으로 사용

        >>> ",".join('abcd')
        'a,b,c,d'
    • join 함수의 입력으로 리스트를 사용하는 예
      >>> ",".join(['a', 'b', 'c', 'd'])
      'a,b,c,d'
  • 소문자를 대문자로 바꾸기(upper)

    • upper 함수
      • 소문자를 대문자로 바꾸어 줌

      • 만약 문자열이 이미 대문자라면 아무 변화도 일어나지 않음

        >>> a = "hi"
        >>> a.upper()
        'HI'
  • 대문자를 소문자로 바꾸기(lower)

    • lower 함수
      • 대문자를 소문자로 바꿔 줌

        >>> a = "HI"
        >>> a.lower()
        'hi'
  • 왼쪽 공백 지우기(lstrip)

    >>> a = " hi "
    >>> a.lstrip()
    'hi '
    • lstrip
      • 문자열 중 가장 왼쪽에 있는 한 칸 이상의 연속된 공백들을 모두 삭제
      • lstrip에서 l은 left를 의미
  • 오른쪽 공백 지우기(rstrip)

    >>> a= " hi "
    >>> a.rstrip()
    ' hi'
    • rstrip
      • 문자열 중 가장 오른쪽에 있는 한 칸 이상의 연속된 공백을 모두 삭제
      • rstrip에서 r는 right를 의미
  • 양쪽 공백 지우기(strip)

    >>> a = " hi "
    >>> a.strip()
    'hi'
    • strip
      • 문자열 양쪽에 있는 한 칸 이상의 연속된 공백을 모두 삭제
  • 문자열 바꾸기(replace)

    >>> a = "Life is too short"
    >>> a.replace("Life", "Your leg")
    'Your leg is too short'
    • replace(바뀌게 될 문자열, 바꿀 문자열)
      • 문자열 안의 특정한 값을 다른 값으로 치환
  • 문자열 나누기(split)

    >>> a = "Life is too short"
    >>> a.split()
    ['Life', 'is', 'too', 'short']
    >>> b = "a:b:c:d"
    >>> b.split(':')
    ['a', 'b', 'c', 'd']
    • split 함수

      • a.split()처럼 괄호 안에 아무 값도 넣어 주지 않으면 공백(스페이스, 탭, 엔터 등)을 기준으로 문자열을 나누어 줌

      • 만약 b.split(':')처럼 괄호 안에 특정 값이 있을 경우

        • 괄호 안의 값을 구분자로 해서 문자열을 나누어 줌
        • 이렇게 나눈 값은 리스트에 하나씩 들어감

참고 : https://wikidocs.net/13

profile
서비스 기획자, PM 지망생

0개의 댓글