Skip to content

Latest commit

Β 

History

History
177 lines (111 loc) Β· 6.6 KB

File metadata and controls

177 lines (111 loc) Β· 6.6 KB

[Python] BASIC 3. μžλ£Œν˜•(1)

μžλ£Œν˜•μ΄λž€?

μžλ£Œν˜•(Data Type) : 자료의 ν˜•νƒœ, λ°μ΄ν„°μ˜ μ’…λ₯˜

κ±°μ°½ν•΄ λ³΄μ΄μ§€λ§Œ 데이터가 μˆ«μžμΈμ§€ λ¬ΈμžμΈμ§€ κ΅¬λΆ„ν•˜λŠ” κ²λ‹ˆλ‹€. μ»΄ν“¨ν„°λŠ” 유λŠ₯ν•˜μ§€λ§Œ 무λŠ₯ν•œ μΉœκ΅¬μ΄κΈ°λ„ ν•΄μ„œ 이게 μˆ«μžμΈμ§€ λ¬ΈμžμΈμ§€ ꡬ뢄을 λͺ»ν•˜κΈ° λ•Œλ¬Έμ—, μš°λ¦¬κ°€ λͺ…령을 λ‚΄λ¦΄λ•Œ κ·Έ ꡬ뢄을 ν•΄μ£ΌλŠ” κ²λ‹ˆλ‹€.

파이썬의 μžλ£Œν˜•

  • μˆ«μžν˜•
  • λ¬Έμžν˜•
  • 뢈
  • 리슀트
  • λ”•μ…”λ„ˆλ¦¬
  • νŠœν”Œ
  • μ§‘ν•©

이 μžˆμŠ΅λ‹ˆλ‹€.


주석

주석은 μ‚¬λžŒ λˆˆμ—λŠ” λ³΄μ΄μ§€λ§Œ 컴퓨터 λˆˆμ—λŠ” μ•ˆλ³΄μ΄λŠ” λ‚΄μš©μž…λ‹ˆλ‹€. μ‚¬λžŒν•œν…ŒλŠ” 보여주고 μ‹Άμ§€λ§Œ 컴퓨터가 읽지 μ•Šμ•˜μœΌλ©΄ ν•˜λŠ” 뢀뢄에 μ‚¬μš©ν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ μ£Όμ„μ²˜λ¦¬ν•œ 뢀뢄은 μ‹€ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‚΄κ°€ μ§  μ½”λ“œμ— λŒ€ν•œ μ„€λͺ…을 μ μ–΄λ‘κ±°λ‚˜, 일뢀 μ½”λ“œλ₯Ό μ‹€ν–‰μ‹œν‚€κ³  μ‹Άμ§€ μ•Šμ„λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

# νŒŒμ΄μ¬μ—μ„œλŠ” 맨 μ•žμ— 샡을 달아 주석을 ν‘œμ‹œν•©λ‹ˆλ‹€. 

ν•˜μ§€λ§Œ μ—¬λŸ¬λΆ„μ΄ 직접 #을 μž…λ ₯ν•  일은 λ³„λ‘œ 없을 κ²λ‹ˆλ‹€.

ctrl + / λΌλŠ” 단좕킀가 μžˆκ±°λ“ μš”. μ£Όμ„μ²˜λ¦¬ν•˜κ³  싢은 쀄에 μ»€μ„œλ₯Ό λ‘κ±°λ‚˜, 블둝지정을 ν•œ ν›„ 단좕킀λ₯Ό λˆ„λ₯΄λ©΄ 주석이 λ©λ‹ˆλ‹€. (λŒ€λΆ€λΆ„μ˜ μ½”λ“œμ—λ””ν„°μ—μ„œ μ§€μ›ν•΄μ£ΌλŠ” λ‹¨μΆ•ν‚€μž…λ‹ˆλ‹€.) λͺ…λ Ήμ—μ„œ μ œμ™Έ μ‹œν‚¨λ‹€λŠ” 뜻으둜 'command out' 이라고 μ–˜κΈ° ν•©λ‹ˆλ‹€.

μ£Όμ„μ²˜λ¦¬ν•œ λ‚΄μš©μ„ ν•΄μ œν•˜κ³  μ‹Άλ‹€λ©΄ ν•΄λ‹Ή 뢀뢄을 μ„ νƒν•œ ν›„ ctrl + / 을 λ‹€μ‹œ λˆ„λ₯΄λ©΄ λ©λ‹ˆλ‹€.


λ°μ΄ν„°νƒ€μž…: μˆ«μžν˜•

μˆ«μžν˜• 데이터 νƒ€μž…μ€ μ •μˆ˜ν˜•κ³Ό μ‹€μˆ˜ν˜•μœΌλ‘œ λ‚˜λˆ„μ–΄μ§‘λ‹ˆλ‹€.

  • μ •μˆ˜ν˜• : int
  • μ‹€μˆ˜ν˜• : float

int? float? 처음 λ§Œλ‚˜ λ‚œκ°ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ •μˆ˜ν˜• 데이터λ₯Ό μ‚¬μš©ν•˜κ³  싢을 λ•Œ intλΌλŠ” 단어λ₯Ό μ‚¬μš©ν•˜κ³ , μ‹€μˆ˜ν˜• 데이터λ₯Ό μ‚¬μš©ν•˜κ³  싢을 λ•Œ floatλΌλŠ” 단어λ₯Ό μ‚¬μš©ν•œλ‹€κ³  μƒκ°ν•˜λ©΄ λ©λ‹ˆλ‹€.

num1 = int(input("여기에 첫번째 μ •μˆ˜λ₯Ό μž…λ ₯ν•˜μ„Έμš” : "))
num2 = int(input("여기에 λ‘λ²ˆμ§Έ μ •μˆ˜λ₯Ό μž…λ ₯ν•˜μ„Έμš” : "))

print(num1+num2)

input 을 톡해 λ“€μ–΄μ˜€λŠ” 데이터듀이 기본적으둜 문자둜 μ²˜λ¦¬λœλ‹€λŠ” 것을 배운적이 μžˆμŠ΅λ‹ˆλ‹€. λ¬Έμžν˜• 데이터듀을 숫자둜 λ³€κ²½ν•΄ λ§μ…ˆμ„ μˆ˜ν–‰ ν•΄λ΄…μ‹œλ‹€.

파이썬 νŒŒμΌμ„ μƒˆλ‘œ 생성해 μœ„λ₯Ό λ³΅λΆ™ν•˜κ³  python 파일λͺ….py λͺ…λ Ήμ–΄λ₯Ό 터미널에 μž…λ ₯ν•΄ μ‹€ν–‰ν•΄λ΄…μ‹œλ‹€.

image

λ¬Έμžν˜• 데이터가 숫자둜 λ°”λ€Œμ–΄ λ§μ…ˆκ²°κ³Όκ°€ 잘 좜λ ₯되고 μžˆμŠ΅λ‹ˆλ‹€.

μˆ«μžν˜• λ°μ΄ν„°λŠ” 보톡 계산이 ν•„μš”ν•  λ•Œ μ‚¬μš©λ˜λ‹ˆ μ΄λ²ˆμ—λŠ” 사칙연산에 λŒ€ν•΄ μ•Œμ•„λ΄…μ‹œλ‹€.

계산을 ν• λ•Œ μ“°λŠ” 기호λ₯Ό μ—°μ‚°μžλΌκ³  ν•˜κ³ , 파이썬의 μ—°μ‚°μžλŠ” λ‹€μŒκ³Ό 같은 것듀이 μžˆμŠ΅λ‹ˆλ‹€.

μˆ«μžν˜• λ°μ΄ν„°νƒ€μž…μ˜ μ—°μ‚°μž : +, -, *, /, //, %, **

ν•˜λ‚˜ν•˜λ‚˜ μ‚΄νŽ΄λ³΄λ©΄ μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€. 막상 해보면 μ–΄λ ΅μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

# λ§μ…ˆ : +
10 + 12

# λΊ„μ…ˆ : -
14 - 12

# κ³±μ…ˆ : *
9 * 7

# λ‚˜λˆ—μ…ˆ : /, //, %
15 / 4
15 // 4
15 % 4

# κ±°λ“­μ œκ³± : **
2**4

λ‚˜λˆ—μ…ˆμ€ μ—°μ‚°μžκ°€ 3κ°œλ‚˜ λ©λ‹ˆλ‹€.

  • /λŠ” κ³„μ‚°κΈ°μ²˜λŸΌ λ‚˜λˆ„μ–΄λ²„λ¦¬λŠ” μ—°μ‚°μž
  • //λŠ” λͺ«λ§Œ κ΅¬ν•˜λŠ” μ—°μ‚°μž
  • %λŠ” λ‚˜λ¨Έμ§€λ₯Ό κ΅¬ν•˜λŠ” μ—°μ‚°μž

μ°Έκ³ 
μ •μˆ˜ : 12, - 12, 0
μ‹€μˆ˜ : 10.26, - 5.3
8μ§„μˆ˜ : 0o34, 0o255
10μ§„μˆ˜ : default
16μ§„μˆ˜ : 0x2A, 0xFF

λ°μ΄ν„°νƒ€μž…: λ¬Έμžν˜•

ν•œ κΈ€μžλ‘œ 이루어진 λ¬Έμžμ™€ μ—¬λŸ¬ κΈ€μžλ‘œ 이루어진 λ¬Έμžμ—΄μ„ λ¬Άμ–΄ λ¬Έμžν˜• μžλ£Œν˜•μ΄λΌκ³  λ§ν•©λ‹ˆλ‹€. μˆ«μžν˜•κ³Ό 달리 λ¬Έμžν˜•μ€ κ°€κ³΅ν•΄μ„œ μ‚¬μš©ν•˜λŠ” 일이 잦기 λ•Œλ¬Έμ— λ¬Έμžν˜•μ„ λ‹€λ£¨λŠ” 방법에 λŒ€ν•΄ μ•„λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€.

λ¨Όμ € λ¬Έμžν˜• 데이터λ₯Ό λ°›κΈ°μœ„ν•΄μ„œλŠ” ""λ‚˜ ''둜 λ¬Άμ–΄μ€˜μ•Όν•©λ‹ˆλ‹€.

λ¬Έμžν˜•λ°μ΄ν„° νƒ€μž…μ˜ μ—°μ‚°μž: +, *

# λ¬Έμžμ—΄μ„ 이어 뢙여라
"λ©‹μŸμ΄" + "μ‚¬μžμ²˜λŸΌ"

# λ¬Έμžμ—΄μ„ λ°˜λ³΅ν•΄λΌ
"λ©‹μžˆμ–΄μš”" * 4 

λ¬Έμžμ—΄μ„ λ‚˜λž€νžˆ 이어뢙인 것 처럼 좜λ ₯λ©λ‹ˆλ‹€.

λ¬Έμžμ™€ λ¬Έμžμ—΄, 그리고 인덱슀

λ¬ΈμžλŠ” 문자 ν•˜λ‚˜ν•˜λ‚˜λ₯Ό μ˜λ―Έν•˜κ³ , λ¬Έμžμ—΄μ€ λ¬Έμžκ°€ μ—¬λŸ¬κ°œ λ‚˜μ—΄λœ 것을 λ§ν•©λ‹ˆλ‹€. 그러면 이 λ¬Έμžμ—΄μ„ λŠ₯수λŠ₯λž€ν•˜κ²Œ μ ‘κ·Όν•˜λ €λ©΄, ν˜Ήμ€ λ¬Έμžμ—΄μ˜ 관리λ₯Ό μ’€ 더 νŽΈλ¦¬ν•˜κ²Œ ν•˜κ³  μ‹Άλ‹€λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Όν• κΉŒμš”? 이럴 λ•Œ μ‚¬μš©ν•  수 μžˆλŠ” λ¬Έμžμ—΄ 고유의 λ²ˆν˜Έκ°€ μžˆμŠ΅λ‹ˆλ‹€.

μΈλ±μŠ€λŠ” λ¬Έμžμ—΄μ—μ„œ 각 문자 ν•˜λ‚˜ν•˜λ‚˜μ— 메겨진 숫자번호λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. (μ»΄ν“¨ν„°λŠ” μ „ν†΅μ μœΌλ‘œ 맨첫번째 인덱슀λ₯Ό 0λΆ€ν„° μ‹œμž‘ν•©λ‹ˆλ‹€.)

인덱싱은 λ¬Έμžμ—΄μ—μ„œ 인덱슀λ₯Ό 톡해 문자λ₯Ό ν˜ΈμΆœν•˜λŠ” 것을 λ§ν•©λ‹ˆλ‹€.

# 0 1 2 3 4
# h e l l o

str = "hello world"

print(str[0]) # hκ°€ 좜λ ₯λ©λ‹ˆλ‹€. 
print(str[2]) # l이 좜λ ₯λ©λ‹ˆλ‹€.

# 끝뢀터 좜λ ₯λ˜λ―€λ‘œ dκ°€ 좜λ ₯λ©λ‹ˆλ‹€
print(str[-1]) 

μŠ¬λΌμ΄μ‹±

λ¬Έμžμ—΄μ˜ 인덱슀λ₯Ό μ΄μš©ν•˜μ—¬ λ¬Έμžμ—΄μ˜ 일뢀λ₯Ό λ½‘μ•„λ‚΄λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

[a:b] 이런 λ°©μ‹μœΌλ‘œ μž˜λΌλ‚Ό λ¬Έμžμ—΄μ„ μ„ νƒν•˜λ©°, a μΈλ±μŠ€λΆ€ν„° b인덱슀 λ°”λ‘œ μ•žκΉŒμ§€λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

str = "코딩을 ν•©μ‹œλ‹€"

print("좕ꡬλ₯Ό" + str[3:7])
#' ν•©μ‹œλ‹€' κ°€ 좜λ ₯λ©λ‹ˆλ‹€.

파이썬 νŒŒμΌμ„ ν•˜λ‚˜ λ§Œλ“€κ³ , μ§€κΈˆκΉŒμ§€ 배운 λ‚΄μš©λ“€μ„ μ‹€μŠ΅ν•΄λ΄…μ‹œλ‹€.

image

직접 ν•΄ λ³΄λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€.

λ¬Έμžμ—΄κ³Ό κ΄€λ ¨λœ λ‚΄μž₯ν•¨μˆ˜

λ‚΄μž₯ν•¨μˆ˜λž€ 말 κ·ΈλŒ€λ‘œ 파이썬 내뢀에 λ‚΄μž₯λ˜μ–΄ μžˆλŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€. 즉, μš°λ¦¬κ°€ μ§€κΈˆκΉŒμ§€ 배운 λ¬Έμžμ—΄λ“€μ„ νŽΈν•˜κ²Œ λ‹€λ£° 수 μžˆλ„λ‘ νŒŒμ΄μ¬μΈ‘μ—μ„œ λ¨Όμ € 미리 λ§Œλ“€μ–΄ λ‘” ν•¨μˆ˜λΌκ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‚΄μž₯ ν•¨μˆ˜λ“€μ€ 많고 λ‹€μ–‘ν•˜μ§€λ§Œ κ·Έ 쀑 자주 μ“°μ΄λŠ” ν•¨μˆ˜λ“€ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

image

  • len(λ¬Έμžμ—΄ λ³€μˆ˜) : λ¬Έμžμ—΄μ˜ 길이λ₯Ό μΈ‘μ •ν•˜κΈ° μœ„ν•œ λ‚΄μž₯ν•¨μˆ˜μž…λ‹ˆλ‹€.

  • λ¬Έμžμ—΄ λ³€μˆ˜.count(νŠΉμ •λ¬Έμž) : λ¬Έμžμ—΄ λ³€μˆ˜ 속에 νŠΉμ •λ¬Έμžμ˜ λ“±μž₯ 횟수λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

  • λ¬Έμžμ—΄ λ³€μˆ˜.split(νŠΉμ •λ¬Έμž) : λ¬Έμžμ—΄ λ³€μˆ˜λ₯Ό νŠΉμ •λ¬Έμž κΈ°μ€€μœΌλ‘œ λ‚˜λˆ•λ‹ˆλ‹€.

  • λ¬Έμžμ—΄ λ³€μˆ˜.find(νŠΉμ •λ¬Έμž) : λ¬Έμžμ—΄ λ³€μˆ˜μ—μ„œ νŠΉμ • 문자의 인덱슀λ₯Ό κ΅¬ν•©λ‹ˆλ‹€.

  • λ¬Έμžμ—΄ λ³€μˆ˜.index(νŠΉμ •λ¬Έμž) : λ¬Έμžμ—΄ λ³€μˆ˜μ—μ„œ νŠΉμ • 문자의 인덱슀λ₯Ό κ΅¬ν•©λ‹ˆλ‹€.

  • find와 index, 뭐가 λ‹€λ₯Έκ°€μš”?

    findλŠ” λ¬Έμžμ—΄ λ³€μˆ˜ 속에 찾고자 ν•˜λŠ” λ¬Έμžκ°€ μ‘΄μž¬ν•˜μ§€ μ•Šμ„ λ•Œ -1을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

    indexλŠ” λ¬Έμžμ—΄ λ³€μˆ˜ 속에 찾고자 ν•˜λŠ” 문자 μ‘΄μž¬ν•˜μ§€ μ•Šμ„ λ•Œ 였λ₯˜λ₯Ό λ°œμƒμ‹œν‚΅λ‹ˆλ‹€.