🐍Python/Basic

[Python]파이썬의 문자 데이터

루리야ㅑ 2023. 10. 18. 18:09
λ°˜μ‘ν˜•

사진: Unsplash 의 Artturi Jalli

파이썬의 문자 데이터

파이썬의 λ°μ΄ν„°λŠ” 크게 문자 데이터와 숫자 λ°μ΄ν„°λ‘œ λ‚˜λ‰œλ‹€.
μ΄λ ‡κ²Œ λ‚˜λˆ„λŠ” μ΄μœ λŠ” μ €μž₯ν•˜λŠ” λ°©λ²•μ΄λ‚˜ μš©λ„, λ‹€λ£¨λŠ” 방법이 λ‹€λ₯΄κΈ° λ•Œλ¬Έμ΄λ‹€.

문자 λ°μ΄ν„°λŠ” 세상에 μ‘΄μž¬ν•˜λŠ” 기호λ₯Ό ν‘œκΈ°ν•˜λŠ” 데이터이닀.
(예λ₯Ό λ“€λ©΄ ν•œκΈ€, μ˜μ–΄ μ•ŒνŒŒλ²³, 아라비아 숫자 λ“± μ–΄λ–€ 기호λ₯Ό 써도 μƒκ΄€μ—†μŒ)

 

문자 데이터 ν‘œν˜„ν•˜λŠ” 방법

νŒŒμ΄μ¬μ—μ„œ 문자 데이터λ₯Ό μ“Έ 땐 ν°λ”°μ˜΄ν‘œ("...") λ˜λŠ” μž‘μ€λ”°μ˜΄ν‘œ('...')λ₯Ό λͺ¨λ‘ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€.
ν•˜μ§€λ§Œ ν”„λ‘œκ·Έλž˜λ° 언어에 따라 ν°λ”°μ˜΄ν‘œμ™€ μž‘μ€λ”°μ˜΄ν‘œμ˜ μ“°μž„μƒˆλ₯Ό λͺ…ν™•νžˆ κ΅¬λΆ„ν•΄μ„œ μ‚¬μš©ν•˜λŠ” κ²½μš°κ°€ μžˆλ‹€.

print("Hello, World!") # 좜λ ₯ μ‹œ Hello, World!
print('Hello, World!') # 좜λ ₯ μ‹œ Hello, World!
print("2023λ…„ 이제 2달 λ‚¨μ•˜λ‹€.") # 좜λ ₯ μ‹œ 2023λ…„ 이제 2달 λ‚¨μ•˜λ‹€.
print('45646') # 좜λ ₯ μ‹œ 45646

 

μ΄μŠ€μΌ€μ΄ν”„ 문자

μ΄μŠ€μΌ€μ΄ν”„λΌλŠ” λ‹¨μ–΄λŠ” 'λ²—μ–΄λ‚˜λ‹€(escape)'λΌλŠ” 뜻으둜 νŒŒμ΄μ¬μ—μ„œ μ£Όμ–΄μ§„ 역할을 λ²—μ–΄λ‚˜μ„œ μƒˆλ‘œμš΄ μ—­ν• λ‘œ μ‚¬μš©ν•˜κ² λ‹¨ μ˜λ―Έμ΄λ‹€. 
ν°λ”°μ˜΄ν‘œμ™€ μž‘μ€ λ”°μ˜΄ν‘œλŠ” 문자 λ°μ΄ν„°λ‘œ ν‘œν˜„ν•  λ•Œ μ“°μ΄λŠ” 데 '문자 데이터 κ·Έ 자체'둜 쓰이고 싢을 λ•Œ μ•„λž˜μ™€ 같이 μ‚¬μš©ν•˜λ©΄ λœλ‹€.

print("\"파이썬\" 생각보닀 μ—„μ²­ 쉽닀.") # μ‚¬μš©ν•˜κ³  싢은 λ”°μ˜΄ν‘œ μ•žμ— λ°±μŠ¬λž˜μ‰¬λ₯Ό λ„£μ–΄ μ½”λ”©ν•œλ‹€.

그럼 좜λ ₯ μ‹œ

"파이썬" 생각보닀 μ—„μ²­ 쉽닀.

라고 좜λ ₯이 λœλ‹€.

μž‘μ€ λ”°μ˜΄ν‘œλ„ λ˜‘κ°™μ΄ λ°±μŠ¬λž˜μ‰¬(\)λ₯Ό μ•žμ— 뢙이고 \' μ΄λ ‡κ²Œ μ›ν•˜λŠ” μœ„μΉ˜μ— λ„£μ–΄ μ‚¬μš©ν•  수 μžˆλ‹€.

κ·Έ 외에 '\n'은 쀄 λ°”κΎΈκΈ° μ΄μŠ€μΌ€μ΄ν”„ 문자, '\t'λŠ” λ“€μ—¬μ“°κΈ° 텝(tap)ν‚€ μ΄μŠ€μΌ€μ΄ν”„ λ¬Έμžκ°€ 있으며
주둜 μ“°μ΄λŠ” νŒŒμ΄μ¬μ—μ„œ μ“°μ΄λŠ” μ΄μŠ€μΌ€μ΄ν”„ λ¬ΈμžλŠ” \",\',\n μ΄λ ‡κ²Œ 3κ°€μ§€κ°€ 주둜 쓰인닀.

 

문자 데이터 μ²˜λ¦¬λ°©λ²•

문자 λ°μ΄ν„°λŠ” λ”°μ˜΄ν‘œλ₯Ό μ‚¬μš©ν•΄μ„œ λ§Œλ“€κ³  ν•œκΈ€μžμ”© μˆœμ„œλŒ€λ‘œ μ—°κ²°λ˜μ–΄ 컴퓨터 λ©”λͺ¨λ¦¬μ— μ €μž₯되고 κ΄€λ¦¬λœλ‹€.
문자 λ°μ΄ν„°λŠ” ν•œ κΈ€μžμ”© μ—°κ²°λ˜μ–΄ 있기 λ•Œλ¬Έμ— μ•„λž˜μ™€ 같은 처리λ₯Ό ν•  수 μžˆλ‹€.

- λ‘κ°œμ˜ 문자 데이터λ₯Ό μ—°κ²°ν•  수 μžˆλ‹€.

- νŠΉμ • 문자 데이터λ₯Ό λ°˜λ³΅ν•΄μ„œ μ—°κ²°ν•  수 μžˆλ‹€.

- 문자 λ°μ΄ν„°μ˜ 길이(문자의 개수)λ₯Ό μ•Œ 수 μžˆλ‹€.

- 문자 λ°μ΄ν„°μ—μ„œ μ›ν•˜λŠ” μœ„μΉ˜μ˜ 문자만 뽑아낼 수 μžˆλ‹€.

 

문자 데이터 μ—°κ²° μ—°μ‚°μž : +

두 개의 문자λ₯Ό ν•©μ³μ„œ ν•œ 개의 μƒˆλ‘œμš΄ 문자 데이터λ₯Ό λ§Œλ“€ 수 μžˆλ‹€.

print("였늘" + "뭐 λ¨Ήμ§€?") # 좜λ ₯ μ‹œ 였늘 뭐 λ¨Ήμ§€?

# #(샡)은 파이썬의 μ£Όμ„μ²˜λ¦¬

 

문자 데이터 반볡 μ—°κ²° μ—°μ‚°μž : *

문자 데이터λ₯Ό λ°˜λ³΅ν•΄μ„œ μ—°κ²°ν•˜λŠ” κΈ°λŠ₯을 ν•˜λŠ” μ—°μ‚°μžλ‘œ * 기호λ₯Ό μ‚¬μš©ν•œλ‹€.
생각보닀 많이 μ‚¬μš©ν•˜λŠ” μ—°μ‚°μž.

반볡 μ—°κ²° μ—°μ‚°μž μ‚¬μš©λ°©λ²• : λ°˜λ³΅ν•  데이터 * 반볡 횟수

쀄을 λ§Œλ“€ λ•Œ 반볡 μ—°κ²° μ—°μ‚°μž *λ₯Ό ν™œμš©ν•΄μ„œ μ‰½κ²Œ λ§Œλ“€ 수 μžˆλ‹€.

print("="*9)  # 좜λ ₯ μ‹œ =========
print(9*"=")  # 좜λ ₯ μ‹œ =========

 

반볡 μ—°κ²° μ—°μ‚°μž(*)λ₯Ό ν™œμš©ν•œ 별 찍기 예제

print("*" * 2)				# * 2개
print(" " * 2 + "*")		# 곡백 2개 + * 1개
print(" " * 3 + 1 * "*")	# 곡백 3개 + * 1개
print(" " * 4 + 1 * "*")	# 곡백 4개 + * 1개
print(" " * 5 + 2 * "*")	# 곡백 5개 + * 2개

좜λ ₯ μ‹œ

**
  *
   *
    *
     **

 

문자 데이터 길이 μ•Œμ•„λ‚΄κΈ°(len)

νŒŒμ΄μ¬μ—μ„œλŠ” len ν•¨μˆ˜λ₯Ό ν™œμš©ν•΄ 문자의 길이λ₯Ό νŒŒμ•…ν•  수 μžˆλ‹€.
문자 데이터 길이λ₯Ό ꡬ할 λ•Œ λ‹€μŒκ³Ό 같은 사항을 μ£Όμ˜ν•΄μ•Ό ν•œλ‹€.

- 곡백도 ν•œ 개의 문자둜 μΈμ‹ν•œλ‹€.

- 특수 문자(,,?,! λ“±)도 ν•œ 개의 문자둜 μΈμ‹ν•œλ‹€.

- μ΄μŠ€μΌ€μ΄ν”„ λ¬Έμžλ„ μ—­μŠ¬λž˜μ‰¬(\)와 기호(",',n λ“±)을 λΆ™μ—¬μ„œ ν•œ 개의 문자둜 인식

파이썬 len ν•¨μˆ˜ 예제

print(len("ABC")) # 좜λ ₯ μ‹œ 3
print(len("Hi, Hello~!")) # 좜λ ₯ μ‹œ 11
print(len("4454564646")) # 좜λ ₯ μ‹œ 10
print(len("\'μ•„\' 집에 κ°€κ³  μ‹Άλ‹€.")) # 좜λ ₯ μ‹œ 13

 

문자 데이터 자λ₯΄κΈ°(μŠ¬λΌμ΄μ‹±)

문자 데이터λ₯Ό νŠΉμ • μœ„μΉ˜μ—μ„œ λŠμ–΄ μƒˆλ‘œμš΄ 문자λ₯Ό λ§Œλ“€κ±°λ‚˜ 좜λ ₯ν•˜κ³  싢을 λ•Œ μ“°λŠ” 방법을 '문자 데이터 자λ₯΄κΈ°' λ˜λŠ” 'μŠ¬λΌμ΄μ‹±'이라고 ν•œλ‹€.

문자 데이터 자λ₯΄λŠ” 방법

문자 데이터[μ‹œμž‘ μœ„μΉ˜:끝 μœ„μΉ˜]

λŒ€λΆ€λΆ„ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λŠ” 각 μœ„μΉ˜μ— λΆ€μ—¬ν•˜λŠ” 숫자 인덱슀λ₯Ό μ‚¬μš©ν•œλ‹€.
μΈλ±μŠ€λŠ” 항상 '0'λΆ€ν„° μ‹œμž‘ν•œλ‹€.

μ‹œμž‘ μœ„μΉ˜λŠ” 문자λ₯Ό ν¬ν•¨ν•΄μ„œ μ‹œμž‘ν•˜μ§€λ§Œ 끝 μœ„μΉ˜λŠ” 문자λ₯Ό μ œμ™Έν•œλ‹€.
예제λ₯Ό λ§Œλ“€μ–΄λ³΄λ©΄ λ”μš± μ‰½κ²Œ μ•Œ 수 μžˆλ‹€.

print("RE456"[0:2])		# 좜λ ₯ μ‹œ RE
print("RE456"[2:5])		# 좜λ ₯ μ‹œ 456
print("RE456"[2:100])	# 좜λ ₯ μ‹œ 456
print("RE456"[2:])		# 좜λ ₯ μ‹œ 456
print("RE456"[:2])		# 좜λ ₯ μ‹œ RE
print("RE456"[:])		# 좜λ ₯ μ‹œ RE456

인덱슀 번호λ₯Ό μƒλž΅ν•˜μ—¬ μœ„μ™€ 같이 μ‚¬μš©ν•  수 μžˆλ‹€.
μ‹œμž‘ μœ„μΉ˜λ₯Ό λΉ„μš°λ©΄ μ²˜μŒλΆ€ν„° 끝 μœ„μΉ˜ μ „κΉŒμ§€
끝 μœ„μΉ˜λ₯Ό λΉ„μš°λ©΄ μ‹œμž‘μœ„μΉ˜λΆ€ν„° λ¬Έμžμ—΄ λκΉŒμ§€
λͺ¨λ‘ λΉ„μš°λ©΄ λͺ¨λ‘ 좜λ ₯ν•œλ‹€.

또 μ£Όμ˜ν•΄μ•Όν•  점은
ν•΄λ‹Ή 문자의 인덱슀λ₯Ό μ •ν™•νžˆ μž…λ ₯ν•˜μ§€ μ•Šκ³  μ˜€λ²„ν•΄μ„œ μ“°λ©΄ 였λ₯˜κ°€ λ‚  수 μžˆμœΌλ‹ˆ
μ •ν™•ν•˜κ²Œ μž…λ ₯ν•΄μ•Όν•œλ‹€.

 

λ°˜μ‘ν˜•