본문 바로가기
SK 행복성장캠퍼스/Python 기초

0901_2일차_Python08_문자열_생성방법_특징

by NickNuma 2020. 9. 4.

전에 데이터 타입을 보면서 잠깐 설명했던 집합형 데이터들에 대해 좀 더 자세히 살펴보는 시간입니다.
이번 시간부터 문자열, 리스트, 튜플, 셋, 딕셔너리까지 모든 집합형 데이터들에 대해 자세히 설명하도록 하겠습니다.



처음으로 문자열 데이터입니다.
문자열의 생성방법, 제공되는 함수, 인덱싱슬라이싱, 문자열의 특징에 대해 알아보겠습니다.

"""
    집합형 자료형
    1) 문자열
        a. 문자열 생성 방법
        b. 문자열 제공 함수
        c. 인덱싱 및 슬라이싱
        d. 문자열 특징

"""

 


먼저 문자열의 생성 방법입니다.

#1. 문자열 생성 방법 4가지
m = "hello"
m2 = 'hello'
m3 = """hello"""
m4 = '''hello'''
print(m, type(m))
print(m2, type(m2))
print(m3, type(m3))
print(m4, type(m4))


 


문자열은 큰 따옴표(" ")와 작은 따옴표 (' ')로 생성이 가능한데 3중 따옴표로도 생성이 가능합니다.
그냥 따옴표를 사용하고 코드에서 엔터키를 누르면 " "\로 나뉘는데 결과값에는 줄바꿈이 나타지 않습니다.

#1. "" 또는 '' 사용한 경우 ==> 줄을 바꿔도 출력에 변화 없음
s ="abcdefghij" \
   "klnmopqrs" \
   "tuvwxyz"
print(s)            # abcdefghijklnmopqrstuvwxyz
print("="*40)


3중 따옴표문자열이 너무 길 때(줄바꿈) 혹은 특정 포멧(들여쓰기나 탭)으로 출력하고 싶을 때 사용합니다.

# triple quotation marks 사용 용도 ==> 문자열이 매우 길 때(줄바꿈) 혹은 특정 포맷(들여쓰기, 탭)으로 출력할 때
#2. triple quotation 사용한 경우 ==> 들여쓰기, 탭등의 포멧형식이 유지된다. => 가독성이 높아진다.
s2 ="""
    abcdefg
    hijklnmo
    pqrstuvwxyz
"""
print(s2)


 


그리고 1일차에서 배웠듯이 문자열값을 변경할 수 없다immutable한 특징을 갖은 데이터형입니다.
문자열을 가공했을 때, 원본 문자열에는 변화가 발생하지 않습니다.

"""
	d. 문자열 특징
            - 값 변경 불가 ( immutable )
            - 필요시 문자열을 가공하면 원본 문자열에는 변화가 없고
              변경된 새로운 문자열을 생성한다.    ==> 원본 문자열은 변경되지 않는다.

"""

 


Hello라는 문자열 변수 m을 만들고 replace()함수를 이용하여 문자열에 변화를 주었지만
변수 m의 원 값에는 변경 사항이 없었고 해당 변경된 문자열을 저장하기 위해서새로운 변수를 만들어 저장해주어야했습니다.

m = "Hello"
print("1. 원본:", m)
print("2. 수정 :", m)
print(m.replace("H", "X"))  # 변경된 새로운 문자열이 생성됨
#변경된 정보의 문자열을 얻기 위해서는 새로운 변수로 초기화해주어야한다.
changed_m = m.replace("H","X")
print("3. 수정 후:", m)
print("4. 변경된 문자열", changed_m)


 

문자열의 생성 방법과 특징 설명을 마무리하고
다음에는 문자열에서 사용 가능한 함수와 인덱싱, 슬라이싱에 대해 포스팅하도록 하겠습니다.

그럼 이만~

반응형

댓글