CodingTest

[이것이 코딩 테스트다 with Python] 5강 파이썬 문법: 문자열, 튜플 자료형

nineDeveloper 2021. 1. 4.
728x90

https://www.youtube.com/watch?v=p6df7qv6jFQ&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=5

 

문자열 자료형

  • 문자열 변수를 초기화할 때는 큰따옴표(")나 작은 따옴표(')를 이용
  • 문자열 안에 큰따옴표나 작은따옴표가 포함되어야 하는 경우가 있음
    • 전체 문자열을 큰따옴표로 구성하는 경우 내부적으로 작은따옴표를 포함할 수 있음
    • 전체 문자열을 작은따옴표로 구성하는 경우 내부적으로 큰따옴표를 포함할 수 있음
    • 혹은 백슬래시(\)를 사용하면 큰따옴표나 작은따옴표를 원하는 만큼 포함시킬 수 있음
data = 'Hello World'
print(data)

data = "Don't you know \"Python\"?"
print(data)

실행 결과

Hello World
Don't you know "Python"?

문자열 연산

  • 문자열 변수에 덧셈(+)을 이용하면 문자열이 더해져서 연결(Concatenate)
  • 문자열 변수를 특정한 양의 정수와 곱하는 경우 문자열이 그 값만큼 여러 번 더해짐
  • 문자열에 대해서도 마찬가지로 인덱싱과 슬라이싱을 이용할 수 있음
    • 다만 문자열은 특정 인덱스의 값을 변경할 수는 없음 (Immutable)
a = "Hello"
b = "World"
print(a + " " + b)

a = "String"
print(a * 3)

a = "ABCDEF"
print(a[2 : 4])

실행 결과

Hello World
StringStringString
CD

튜플 자료형

  • 튜플 자료형은 리스트와 유사하지만 다음과 같은 문법적 차이가 있음
    • 튜플은 한 번 선언된 값을 변경할 수 없음
    • 리스트는 대괄호([])를 이용하지만 튜플은 소괄호(())를 이용함
  • 튜플은 리스트에 비해 상대적으로 공간 효율적
a = (1, 2, 3, 4, 5, 6, 7, 8, 9)

# 네 번째 원소만 출력
print(a[3])

# 두 번째 원소부터 네 번째 원소까지
print(a[1 : 4])

실행 결과

4
(2, 3, 4)

튜플 사용 예제 (오류가 발생하는 예제)

a = (1, 2, 3, 4)
print(a)

a[2] = 7

실행 결과

Traceback (most recent call last):
  File "main.py", line 4, in <module>
    a[2] = 7
TypeError: 'tuple' object does not support item assignment

튜플을 사용하면 좋은 경우

  • 서로 다른 성질의 데이터를 묶어서 관리해야 할 때
    • 최단 경로 알고리즘에서는 (비용, 노드 번호)의 형태로 튜플 자료형을 자주 사용함
  • 데이터의 나열을 해싱(Hashing)의 키 값으로 사용해야 할 때
    • 튜플은 변경이 불가능하므로 리스트와 다르게 키 값으로 사용될 수 있음
  • 리스트보다 메모리를 효율적으로 사용해야 할 때
728x90

댓글

💲 추천 글