박가방

[python_3] 문자열 만들기 본문

프로그램 언어/Python

[python_3] 문자열 만들기

박가방 2022. 12. 29. 14:32

[3] 작성 이유 : 파이썬 내 문자열의 문법 구조에 대한 이해와 이를 유동적으로 사용하기 위함

 

문자열(String) : 문자(한글, 영어, 숫자 등)들이 나열된 것

                           (C언어에서 문자열이란 메모리에 저장된 일련의 연속된 문자(character)들의 집합이다)


1. 문자열 내부에 따옴표 넣기

 사용 이유 : 구문(문법, 구조, 순서 등) 오류(syntax error) 발생

틀린 문법
print("그는 내게 "반가워요" 라고 말했다.")

   결과 :

  이유 : 문자열로 인식하는 부분이 잘못됨.

 

1.1 큰따옴표로 문자열 만들기

print("그는 내게 '반가워요'라고 말했다.")

1.2 작은따옴표로 문자열 만들기

print('그는 내게 "반가워요"라고 말했다.')

1.3 이스케이프 문자 사용하기

  1.3.1 큰 따옴표

print("그는 내게\"반가워요\"라고 말했다.")
print("그는 내게\'반가워요\'라고 말했다.")

  1.3.2 작은 따옴표

print('그는 내게 \"반가워요\"라고 말했다')
print('그는 내게 \'반가워요\'라고 말했다')

  1.3.3 줄바꿈 과 탭

print("안녕\n반가워") # 줄바꿈
print("안녕\t반가워") # 탭

  1.3.4 역슬래시

\\ = 역슬래시 의미
print("줄바꿈은 \\n 을 쓰셔야합니다. ")
결과 : 줄바꿈은 \n 을 쓰셔야합니다. # 이스케이프 \n 이 입력되지 않음


  1.3.5.1 여러줄 문자열

print("아름다운 이 강산을 지키는 우리\n 사나이 기백으로 오늘을 산다\n 포탄의 불바다를 무릅쓰면서\n 고향 땅 부모형제 평화를 위해")
#코드를 읽기 어렵다

#여러줄 문자열 기능을 사용하자
# """ or ''' - 여러줄 문자열 기능 지원
print("""아름다운 이 강산을 지키는 우리
사나이 기백으로 오늘을 산다
포탄의 불바다를 무릅쓰면서
고향 땅 부모형제 평화를 위해
""")

아름다운 이 강산을 지키는 우리
사나이 기백으로 오늘을 산다
포탄의 불바다를 무릅쓰면서
고향 땅 부모형제 평화를 위해

 1.3.5.2 줄바꿈 없는 문자열

print("""\
아름다운 이 강산을 지키는 우리
사나이 기백으로 오늘을 산다
포탄의 불바다를 무릅쓰면서
고향 땅 부모형제 평화를 위해\
"""
)

  문제 : 코드를 쉽게 보기 위해 엔터를 쳤으나 """ 이스케이프 문자에 의해 결과도 엔터가 입력된 값으로 나온다

  해결 : \ 기호를 통해 해결할 수 있다. 줄 뒤에 \기호를 사용한다.

  의미: 코드를 보기 위함이지 실제로 줄바꿈을 하지 않는다

 

2. 문자열 연결

print ("안녕히" + "가세요")
안녕히가세요
#문자끼리만 가능하다.

3. 문자열 반복

print("반가워요" *4)
반가워요반가워요반가워요반가워요

print(4* "반가워요")
반가워요반가워요반가워요반가워요

 

  4. 문자 선택 연산자(인덱싱) - 문자열 내부의 문자 하나를 선택하는 연산자

   4.1 인덱싱(indexing) - [ ] 연산자를 이용해 문자열의 특정 위치에 있는 문자를 참조하는 것

   - 프로그래밍 언어는 숫자를 0부터 세는 "제로 인덱스(zero index)"와 1부터 세는 "원 인덱스(one index)"가 존재

   - 파이썬은 제로 인덱스를 사용

          슬라이싱(slicing) - [ : ] 연산자를 이용해 문자열 일부를 추출하는 것

print("반가워요"[0])
반
print("반가워요"[1])
가

print("반가워요"[-4])
반
print("반가워요"[-1])  # 주의
요

  4.2 문자 범위 선택 연산자 - 주의

print("반가워요"[0:2]) # 주의! 뒤의 숫자-1번째까지 선택된다.
반가                   # 0번째, 1번째
print("반가워요"[1:3]) 
가워                   # 1번째, 2번쨰

print("반가워요"[1:])
가워요
print("반가워요"[:2]) # 주의
반가

 5. 문자열 길이 - len() 함수 (len은 식별자)

 

print(len("반가워요"))
4
[1] 데이터 과학을 위한 파이썬 프로그래밍 - 최성철
[2] 혼자 공부하는 파이썬 - 윤인성
[3] http://www.tcpschool.com/c/c_string_string - 문자열