파이썬 자료형 2.문자열

2. 문자열

파이썬에서 문자열을 만드는 방법은 총 4가지이다.

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

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

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

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

"Hello World"
'Hello World'
""" 왜 세개나 쓰지"""
'''이거슨 무엇인가 '''

왜 4가지나 가지게 되었을까? 그 이유

문자열 안에 작은따옴표나 큰따옴표를 포함시키고 싶을 때

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

: 문자열 내부에서 ' '를 사용중이면, ""로 감싸기

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

: 문자열을 작은따옴표(')로 둘러싸면 된다.

3.백슬래시()를 사용해서 작은따옴표(')와 큰따옴표(")를 문자열에 포함시키기

: 백슬래시()를 작은따옴표(')나 큰따옴표(") 앞에 삽입

>>> food = 'Python\'s favorite food is perl'
>>> say = "\"Python is very easy.\" he says."

여러 줄인 문자열을 변수에 대입

  1. 줄을 바꾸기 위한 이스케이프 코드 \n 삽입하기
>>> multiline = "Life is too short\nYou need python"
  1. 연속된 작은따옴표 3개(''') 또는 큰따옴표 3개(""") 사용하기

문자열 연산하기

파이썬에서는 문자열을 더하거나 곱할 수 있다.

  • 문자열 더해서 연결하기(Concatenation)
>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail
'Python is fun!'
  • 문자열 곱하기
>>> a = "python"
>>> a * 2
'pythonpython'

a * 2 문장은 a를 두 번 반복하라는 뜻

#문자열 곱하기 응용 -> 자주 사용함!!
print("=" * 50)
print("My Program")
print("=" * 50)

==================================================
My Program
==================================================
  • 문자열 길이 구하기 : len 함수를 사용 (파이썬의 기본 내장 함수)
>>> a = "Life is too short"
>>> len(a)
17

문자열 인덱싱과 슬라이싱

  • 인덱싱

    : 인덱싱(Indexing)이란 무엇인가를 "가리킨다"는 의미

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

    >>> a = "Life is too short, You need Python"
    >>> a[3]
    'e'
    
    #문자열 인덱싱 활용하기
    >>> a = "Life is too short, You need Python"
    >>> a[0]
    'L'
    >>> a[12]
    's'
    >>> a[-1]
    'n'

    문자열을 뒤에서 부터 읽기 위해 마이너스(-) 기호를 붙이는 것이다.

    a[-1]은 뒤에서부터 세어 첫 번째가 되는 문자 = n

    ⭐0과 -0은 똑같은 것이기 때문에 a[-0]은 a[0]과 똑같은 값을 보여 준다.

    >>> a[-0]
    'L'
    
    >>> a[0]
    'L'
  • 슬라이싱

    : 슬라이싱(Slicing)은 무엇인가를 "잘라낸다"는 의미

    슬라이싱 기법: a[시작 번호:끝 번호]

문자열에서 단순히 한 문자만을 뽑아내는 것이 아니라 단어를 뽑아내는 방법은 없을까?

>>> 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[시작 번호:끝 번호]에서 끝 번호 부분을 생략하면 시작 번호부터 그 문자열의 끝까지 뽑아낸다.

>>> a[19:]
'You need Python'

-a[시작 번호:끝 번호]에서 시작 번호를 생략하면 문자열의 처음부터 끝 번호까지 뽑아낸다.

>>> a[:17]
'Life is too short'

-a[시작 번호:끝 번호]에서 시작 번호와 끝 번호를 생략하면 문자열의 처음부터 끝까지 출력

>>> a[:]
'Life is too short, You need Python'
  • 문자열의 요솟값은 바꿀 수 있는 값이 아니기 때문이다(문자열 자료형은 그 요솟값을 변경할 수 없다. 그래서 immutable한 자료형이라고도 부른다).

    • 예시

      ["Pithon"이라는 문자열을 "Python"으로 바꾸려면?]

      >>> a = "Pithon"
      >>> a[:1]
      'P'
      >>> a[2:]
      'thon'
      >>> a[:1] + 'y' + a[2:]
      'Python'

      슬라이싱을 사용하면 "Pithon" 문자열을 'P' 부분과 'thon' 부분으로 나눌 수 있기 때문에 그 사이에 'y' 문자를 추가하여 'Python'이라는 새로운 문자열을 만들 수 있다.

문자열 포매팅Formatting

문자열 안의 특정한 값을 바꿔야 할 경우가 있을 때 이것을 가능하게 해주는 것이 바로 문자열 포매팅 기법 ==문자열 안에 어떤 값을 삽입하는 방법

바로 대입 하기

1. 숫자 바로 대입
>>> "I eat %d apples." % 3
'I eat 3 apples.'

2. 문자열 바로 대입
>>> "I eat %s apples." % "five"
'I eat five apples.'

3. 숫자 값을 나타내는 변수로 대입
>>> number = 3
>>> "I eat %d apples." % number
'I eat 3 apples.'

4. 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.'

#2개 이상의 값을 넣으려면 마지막 % 다음 괄호 안에 콤마(,)로 구분하여 각각의 값을 넣어 주면 된다.

%s 포맷 코드인데, 이 코드는 어떤 형태의 값이든 변환해 넣을 수 있다.

%s는 자동으로 % 뒤에 있는 값을 문자열로 바꾸기 때문이다.

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'

f 문자열 포매팅

f 접두사를 붙이면 f 문자열 포매팅 기능을 사용

>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'

#변수 값을 생성한 후에 그 값을 참조할 수 있다

딕셔너리 f 문자열 포매팅

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

str 함수는 정수나 실수를 문자열의 형태로 바꾸어 주는 파이썬의 내장 함수

좋은 웹페이지 즐겨찾기