Python

[python] 파이썬의 데이터 νƒ€μž…κ³Ό μž…λ ₯ 처리 - 이해와 ν™œμš©

hyonie 2024. 4. 19. 01:31

데이터 νƒ€μž…μ΄λž€ 무엇인가 πŸ’‘

데이터 νƒ€μž…μ€ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ λ³€μˆ˜λ‚˜ μƒμˆ˜μ— λŒ€ν•œ μœ ν˜•μ„ μ •μ˜ν•˜λŠ” 방법이닀. 각 데이터 νƒ€μž…μ€ κ°’μ˜ μ’…λ₯˜μ™€ 그에 λ”°λ₯Έ λ©”λͺ¨λ¦¬ 곡간 ν• λ‹Ή 방식을 κ²°μ •ν•œλ‹€. νŒŒμ΄μ¬μ€ 동적 νƒ€μž… μ–Έμ–΄λ‘œ, λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ νƒ€μž…μ„ λͺ…μ‹œμ μœΌλ‘œ μ§€μ •ν•  ν•„μš”κ°€ μ—†λ‹€.

 

데이터 νƒ€μž…μ˜ κ°œλ…κ³Ό μ’…λ₯˜ 🐍

νŒŒμ΄μ¬μ€ λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ νƒ€μž…μ„ λͺ…μ‹œν•˜μ§€ μ•Šμ•„λ„ λœλ‹€. λŒ€μ‹  λ³€μˆ˜μ— 값이 ν• λ‹Ή λ λ•Œ ν•΄λ‹Ή κ°’μ˜ νƒ€μž…μ— 따라 μžλ™μœΌλ‘œ 데이터 νƒ€μž…μ΄ κ²°μ •λœλ‹€. λ˜ν•œ μ„Έλ―Έμ½œλ‘ μ„ μ‚¬μš©ν•˜μ—¬ λ¬Έμž₯을 λλ‚΄μ§€μ•ŠλŠ”λ‹€. 좜λ ₯ ν•¨μˆ˜λŠ” print()ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜κ³ , 싀행은 주둜 F5 ν‚€λ₯Ό μ‚¬μš©ν•œλ‹€.

value = 100
print(value)

 

 

νƒ€μž…μ„ λͺ…μ‹œν•˜μ§€ μ•Šμ•„λ„ ν•΄λ‹Ή λ³€μˆ˜μ˜ νƒ€μž…μ„ μ•Œκ³  싢을 λ•ŒλŠ” type() ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ ν™•μΈν• μˆ˜ μžˆλ‹€.

type(자료)

 

 

type() ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ ν•΄λ‹Ή κ°’μ˜ νƒ€μž…μ΄ 좜λ ₯λœλ‹€. 근데 classκ°€ μ™œ λΆ™μ—ˆμ„κΉŒ? πŸ”

type()ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 데이터 νƒ€μž…μ„ 좜λ ₯ν•˜λ©΄ ν•΄λ‹Ή νƒ€μž…μ˜ 클래슀 정보도 ν•¨κ»˜ ν‘œμ‹œλœλ‹€.

μ΄λŠ” 파이썬의 λͺ¨λ“  데이터 νƒ€μž…μ΄ μ‹€μ œλ‘œ 클래슀둜 κ΅¬ν˜„λ˜μ–΄ 있기 λ•Œλ¬Έμ΄λ‹€. 예λ₯Ό λ“€μ–΄ intλŠ” μ •μˆ˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 클래슀이고, str은 λ¬Έμžμ—΄μ„ λ‚˜νƒ€λ‚΄λŠ” ν΄λž˜μŠ€μ΄λ‹€.

 

λ”°λΌμ„œ type() ν•¨μˆ˜λ₯Ό 톡해 좜λ ₯된 κ²°κ³Όμ—μ„œ <class 'int'>, <class 'str'>, <class 'float'>λŠ” 각각 μ •μˆ˜, λ¬Έμžμ—΄, λΆ€λ™μ†Œμˆ˜μ  숫자의 클래슀λ₯Ό λ‚˜νƒ€λ‚Έλ‹€. 

 

C, C++μ—μ„œλŠ” int, float, doubleκ³Ό 같은 κΈ°λ³Έ 데이터 νƒ€μž…μ΄ μžˆλ‹€. ν•˜μ§€λ§Œ Java, C#, JavaScript, pythonκ³Ό 같은 μ–Έμ–΄μ—μ„œλŠ” κΈ°λ³Έ 데이터 νƒ€μž…μ΄ μ•„λ‹Œ λͺ¨λ“  것이 클래슀둜 κ΅¬ν˜„λœλ‹€.

 

ν•΄λ‹Ή μ–Έμ–΄μ—μ„œλŠ” μ •μˆ˜, μ‹€μˆ˜ λ“±μ˜ 데이터 νƒ€μž…μ΄ κ²°κ΅­ 클래슀둜 ν‘œν˜„λœλ‹€.

 

λ¬Έμžμ—΄ 데이터 πŸ’­

πŸ”„ λ¬Έμžμ™€ μ•„μŠ€ν‚€ μ½”λ“œμ˜ λ³€ν™˜

λ¬Έμžμ—΄μ€ ν•˜λ‚˜μ˜ λ¬Έμžλ“€μ΄ λͺ¨μ—¬μ„œ λ§Œλ“€μ–΄μ§„ 데이터이닀. νŒŒμ΄μ¬μ—μ„œλŠ” 문자 νƒ€μž…μ΄ λ³„λ„λ‘œ μ§€μ›λ˜μ§€ μ•Šκ³ , λͺ¨λ“  λ¬ΈμžλŠ” λ¬Έμžμ—΄λ‘œ μ²˜λ¦¬λœλ‹€. μ΄λŠ” 컴퓨터가 μ‚¬λžŒμ²˜λŸΌ 문자λ₯Ό μ§μ ‘μ μœΌλ‘œ μ΄ν•΄ν•˜μ§€ λͺ»ν•˜κ³ , 0κ³Ό 1둜 이루어진 κΈ°κ³„μ–΄λ§Œ μΈμ‹ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. λ”°λΌμ„œ 문자λ₯Ό 숫자둜 λ§€ν•‘ν•œ μ•„μŠ€ν‚€μ½”λ“œκ°€ μ œκ³΅λœλ‹€.

 

ord()ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ 문자λ₯Ό μ•„μŠ€ν‚€μ½”λ“œλ‘œ λ³€ν™˜ν• μˆ˜ 있고, chr()ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ μ•„μŠ€ν‚€μ½”λ“œλ₯Ό 문자둜 λ³€ν™˜ν• μˆ˜ μžˆλ‹€

 

πŸ”„ input ν•¨μˆ˜μ˜ κΈ°λ³Έ μ‚¬μš©

μ‚¬μš©μžλ‘œλΆ€ν„° ν‚€λ³΄λ“œλ‘œ μž…λ ₯을 λ°›κΈ° μœ„ν•΄ input()ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•œλ‹€. λ‹€λ₯Έμ–Έμ–΄μ—μ„œ Cμ–Έμ–΄λŠ” scanf()ν•¨μˆ˜, μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” prompt()ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•œλ‹€.

 

input()ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ μ‚¬μš©μžκ°€ ν‚€λ³΄λ“œλ‘œ μž…λ ₯ν•œ 값을 λ³€μˆ˜μ— μ €μž₯ν• μˆ˜ μžˆλ‹€. μž…λ ₯된 값은 μ‚¬μš©μžκ°€ μž…λ ₯을 마치고 μ—”ν„° ν‚€λ₯Ό λˆ„λ₯΄λ©΄ λ³€μˆ˜μ— λŒ€μž…λœλ‹€.

 

예λ₯Ό λ“€μ–΄ μ•„λž˜μ™€κ°™μ΄ input()ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μ‚¬μš©μžλ‘œ λΆ€ν„° 값을 μž…λ ₯λ°›κ³ , 이λ₯Ό λ³€μˆ˜μ— μ €μž₯ν• μˆ˜ μžˆλ‹€.

 

πŸ”„ μž…λ ₯κ³Ό λ¬Έμžμ—΄ 처리

λ˜ν•œ input() ν•¨μˆ˜λŠ” μ‚¬μš©μžκ°€ ν‚€λ³΄λ“œλ‘œ μž…λ ₯ν•œ 값은 λͺ¨λ‘ λ¬Έμžμ—΄ ν˜•νƒœλ‘œ μ²˜λ¦¬λœλ‹€.

예λ₯Ό λ“€μ–΄ μ•„λž˜ μ½”λ“œμ—μ„œ μ‚¬μš©μžλ‘œλΆ€ν„° 두 개의 숫자λ₯Ό μž…λ ₯λ°›μœΌλ©΄ λ”ν•˜κΈ° 300이 λ‚˜μ˜€λŠ” 것이 μ•„λ‹ˆλΌ 이λ₯Ό λ¬Έμžμ—΄λ‘œ μ²˜λ¦¬ν•˜μ—¬ 두 λ¬Έμžμ—΄μ„ κ²°ν•©ν•œλ‹€.

 

 

πŸ”„ μž…λ ₯κ³Ό 데이터 νƒ€μž… 처리

μ‚¬μš©μžλ‘œλΆ€ν„° λ¬Έμžμ—΄ ν˜•νƒœμ˜ 숫자λ₯Ό μž…λ ₯λ°›κ³ , 이름 μ •μˆ˜λ‘œ λ³€ν™˜ν•˜μ—¬ λ³€μˆ˜μ— μ €μž₯ν•˜λ €κ³  ν•œλ‹€.

 

ν•˜μ§€λ§Œ μœ„ μ½”λ“œμ—μ„œ μ •μˆ˜ nNumκ³Ό λ¬Έμžμ—΄ strNum을 λ”ν•˜λŠ” 연산을 μ‹œλ„ν–ˆκΈ° λ•Œλ¬Έμ— νƒ€μž…μ΄ λ§žμ§€ μ•Šμ•„ μ—λŸ¬κ°€ λ°œμƒν•œλ‹€.

νŒŒμ΄μ¬μ—μ„œλŠ” μ„œλ‘œ λ‹€λ₯Έ 데이터 νƒ€μž… κ°„μ˜ 연산을 μ§€μ›ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ΄λ‹€. 

 

λ”°λΌμ„œ μ΄λŸ¬ν•œ κ²½μš°μ—λŠ” μ‚¬μš©μžλ‘œλΆ€ν„° μž…λ ₯λ°›λŠ” λ¬Έμžμ—΄μ„ μ •μˆ˜λ‘œ λ³€ν™˜ν•œ 뒀에 연산을 ν•΄μ£Όμ–΄μ•Ό ν•œλ‹€.

int()ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ λ¬Έμžμ—΄μ„ μ •μˆ˜λ‘œ λ³€ν™˜ν• μˆ˜ μžˆλ‹€. 

κ·ΈλŸ¬λ‚˜ μ΄λ²ˆμ—λ„ λ¬Έμžμ—΄κ³Ό μ •μˆ˜λ₯Ό λ”ν•˜λ €κ³  μ‹œλ„ν–ˆκΈ° λ•Œλ¬Έμ— νƒ€μž… μ—λŸ¬κ°€ λ°œμƒν•œλ‹€. 

 

 

πŸ”„ μž…λ ₯κ³Ό νƒ€μž… λ³€ν™˜

μ •λ¦¬ν•˜μžλ©΄ input()ν•¨μˆ˜λ‘œ μž…λ ₯받은 λ¬Έμžμ—΄μ„ int()ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μ •μˆ˜λ‘œ λ³€ν™˜ν•œ 뒀에 μ •μˆ˜μ™€ μ •μˆ˜μ˜ λ§μ…ˆμ„ μˆ˜ν–‰ν•˜κ³ , κ·Έ κ²°κ³Όλ₯Ό λ‹€μ‹œ λ¬Έμžμ—΄λ‘œ λ°˜ν™˜ν•˜μ—¬ 좜λ ₯ν•˜λ©΄ λœλ‹€.