λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
ITπŸ’‘/Python

[Python] 파이썬 기초 κ°œλ… 총 정리

by hk713 2022. 3. 15.

Python(파이썬)은 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ 쀑 ν•˜λ‚˜λ‘œ μ½”λ”© μž…λ¬Έ μ–Έμ–΄λ‘œ 많이 μ‚¬μš©ν•œλ‹€.

μ½”λ“œκ°€ 짧고 μžλ£Œκ°€ μ—„μ²­λ‚˜κ²Œ 많기 λ•Œλ¬Έμ΄λ‹€. λ‹€λ₯Έ 언어에 λΉ„ν•΄ μ‰¬μš΄ νŽΈμ΄λ‚˜ μ ˆλŒ€μ μœΌλ‘œ μ‰¬μš΄κ±΄ μ•„λ‹ˆλ‹€! 

κ·ΈλŸ¬λ‹ˆ λŠμž„μ—†λŠ” 곡뢀가 ν•„μš”ν•˜λ‹€πŸ”₯ 


βœ… 좜λ ₯

print() - μž…λ ₯ν•œ 값을 좜λ ₯ν•˜λŠ” ν•¨μˆ˜. κ΄„ν˜Έ μ•ˆμ— μž…λ ₯값이 λ“€μ–΄κ°„λ‹€.

**κ΄„ν˜Έ μ•ˆμ— μ—¬λŸ¬ 개의 μž…λ ₯값을 μž‘μ„±ν•  λ•Œ 콀마 λ’€μ—λŠ” 띄어쓰기 λ„£μ–΄ μž‘μ„±ν•˜λŠ” 것이 μ’‹λ‹€. 

 

βœ… μž…λ ₯

input() - μ‚¬μš©μžμ˜ μž…λ ₯을 λ°›λŠ” ν•¨μˆ˜.

 

βœ… λ³€μˆ˜

Variable - λ³€μˆ˜λŠ” λ³€ν•  수 μžˆλ‹€. λ³€μˆ˜μ— 값을 μ €μž₯ν•  λ•ŒλŠ” ‘=’ μ‚¬μš©ν•œλ‹€. ꡳ이 따지면 μ €μž₯ν•˜λŠ”κ±΄ μ•„λ‹ˆμ§€λ§Œ μ €μž₯ν•œλ‹€κ³  생각해도 상관없닀. ex. my_int = 3 이라고 ν•˜λ©΄ 3의 이름을 λΆ™μ—¬μ€€λ‹€κ³  생각해도 λœλ‹€.

 

Naming - λ³€μˆ˜μ΄λ¦„μ„ 뢙일 λ•Œ λ‚˜λ¦„μ˜ κ·œμΉ™μ΄ μžˆλ‹€. λŒ€/μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•œλ‹€. μœ λ‹ˆμ½”λ“œλ₯Ό μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. ν•œκΈ€λ„ μ‚¬μš©κ°€λŠ₯ν•˜λ‹€.

μ£Όμ˜ν•  점은, λ³€μˆ˜λͺ…은 μ‹œμž‘μ„ 숫자둜 μ‹œμž‘ν•  수 μ—†λ‹€. 문자둜 μ‹œμž‘ν•΄μ„œ 쀑간에 μˆ«μžκ°€ μžˆλŠ”κ±΄ κ°€λŠ₯ν•˜λ‹€. λ³€μˆ˜λͺ…에 λ„μ–΄μ“°κΈ°λŠ” μ•ˆλœλ‹€.

 

βœ… μžλ£Œν˜•

type() - λ³€μˆ˜μ˜ μžλ£Œν˜•μ„ μ•Œλ €μ£ΌλŠ” ν•¨μˆ˜.

  • Numeric - μ •μˆ˜ν˜• / μ‹€μˆ˜ν˜•
  • String - λ¬Έμžν˜•. μž‘μ€ λ”°μ˜΄ν‘œλ‚˜ 큰 λ”°μ˜΄ν‘œλ‘œ κ΅¬λΆ„ν•œλ‹€.
  • Boolean - True(μ°Έ) λ˜λŠ” False(거짓). λ”± 두가지 밖에 μ—†λ‹€.

βœ… μžλ£Œν˜• λ³€ν™˜ν•˜κΈ°

something = 1
type(something)  # int (μ •μˆ˜)
float(something) # 1.0 (μ‹€μˆ˜)
str(something)   # '1' (문자)
int(something)   #  1  (μ •μˆ˜)

 

βœ… λ¬Έμžμ—΄

string” λ˜λŠ” ‘string’.

ν°λ”°μ˜΄ν‘œμ™€ μž‘μ€λ”°μ˜΄ν‘œλ₯Ό 3κ°œμ”© μ‚¬μš©ν•˜κΈ°λ„ ν•œλ‹€. 그러면 μ—¬λŸ¬μ€„μ„ ν•˜λ‚˜μ˜ λ³€μˆ˜μ— μ €μž₯ν•  수 μžˆλ‹€. 

 

βœ… μ£Όμ„

Comment. 컴퓨터가 μ•Œμ•„λ“£μ§€ λͺ»ν•œλ‹€. '#' 을 μ‚¬μš©ν•œλ‹€.

Docstring(λ…μŠ€νŠΈλ§): ν°λ”°μ˜΄ν‘œλ‚˜ μž‘μ€λ”°μ˜΄ν‘œ 3개λ₯Ό μ‚¬μš©ν•΄ μ£Όμ„μœΌλ‘œ λ§Œλ“œλŠ” 것을 λ§ν•œλ‹€.

 

βœ… ν¬λ§·νŒ…

Formatting. λ¬Έμžμ—΄μ„ μ’€ 더 잘 ν‘œν˜„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•œλ‹€. %d (μ •μˆ˜), %f (μ‹€μˆ˜), %s (문자)

my_name = ‘My name is %s’ % ‘HK’  # My name is HK

number = ‘%d %d’ % (1,2)          # 1 2

number2 = ‘%f’ % 3.14             # 3.140000

같은 역할을 ν•˜λŠ”λ° 더 파이썬슀러운 λ©”μ†Œλ“œκ°€ μžˆλ‹€ - format()

‘My name is {}’ .format(’hk’)         # My name is hk

'{} x {} = {}' .format(2 ,3, 2*3)     # 2 x 3 = 6

'{1} x {0} = {2}' .format(2 ,3, 2*3)  # 3 x 2 = 6  >> μˆœμ„œ 지정 κ°€λŠ₯ν•˜λ‹€

 

βœ… μΈλ±μ‹±(Indexing)

'Python'μ΄λΌλŠ” λ¬Έμžμ—΄μ΄ μžˆμ„ λ•Œ 각 μžλ¦¬λ§ˆλ‹€ μ£Όμ†Œκ°€ μžˆλ‹€κ³  μƒκ°ν•˜λŠ” 것이닀.

μ—¬κΈ°μ„œ index[2] = ‘t’. μΈλ±μŠ€λŠ” 0λΆ€ν„° μ‹œμž‘ν•œλ‹€. 곡백도 자리둜 μΈμ‹ν•œλ‹€. 인덱슀 -1은 제일 λ§ˆμ§€λ§‰ κΈ€μžλ‹€. 

 

βœ… μŠ¬λΌμ΄μ‹±(Slicing)

자λ₯΄λŠ” 것! 'Python'μ—μ„œ [1:4]λŠ” ‘yth’. 경계λ₯Ό μƒκ°ν•˜λŠ”κ²Œ κ³„μ‚°ν•˜κΈ° νŽΈν•˜λ‹€.

 

βœ… end, μ΄μŠ€μΌ€μ΄ν”„ μ½”λ“œ

print(" ~~~ ", end=" ") μ΄λ ‡κ²Œ μ‚¬μš©ν•œλ‹€. 좜λ ₯의 끝에 무엇을 뢙일 λ•Œ μ‚¬μš©.

\n 은 μ€„λ°”κΏˆ, \t 은 tab 을 μ˜λ―Έν•œλ‹€.


βœ… λ¦¬μŠ€νŠΈ, νŠœν”Œ, λ”•μ…”λ„ˆλ¦¬

  • List(리슀트) - [ ] μ‚¬μš©. μˆ«μžλ‚˜ 문자λ₯Ό 넣을 수 μžˆλ‹€. list.append() λ₯Ό μ‚¬μš©ν•˜λ©΄ μš”μ†Œλ₯Ό μΆ”κ°€ν•  수 μžˆλ‹€.
  • Tuple(νŠœν”Œ) - ( ) μ‚¬μš©. νŠœν”Œ 값은 λ³€κ²½ν•  수 μ—†λ‹€!
  • Dictionary(λ”•μ…”λ„ˆλ¦¬) - { } μ‚¬μš©. 킀와 κ°’μœΌλ‘œ κ΅¬μ„±λœλ‹€. 

βœ… List(리슀트)

μ—¬λŸ¬ 개의 값을 ν•œλ²ˆμ— λͺ¨μ•„μ„œ μ €μž₯ν•  수 μžˆλ‹€. λŒ€ν‘œμ μΈ mutable (값을 λ³€κ²½ν•  수 μžˆλŠ”) ν˜•μ‹μ΄λ‹€.

  • list.sort() - μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•œλ‹€. (ν•œκΈ€μ€ κ°€λ‚˜λ‹€μˆœ)
  • list.count() - μ–΄λ–€ 값이 λͺ‡κ°œλ‚˜ μžˆλŠ”μ§€ μ•Œ 수 μžˆλ‹€.
  • len(list) - λ¦¬μŠ€νŠΈμ•ˆμ— 값이 λͺ‡ κ°œλ‚˜ μžˆλŠ”μ§€ μ•Œ 수 μžˆλ‹€. ** len()은 λ‚΄μž₯ν•¨μˆ˜(νŒŒμ΄μ¬μ—μ„œ 기본으둜 μ œκ³΅ν•˜λŠ” ν•¨μˆ˜)

βœ… Tuple(νŠœν”Œ)

μ—¬λŸ¬ 개의 값을 λͺ¨μœΌλŠ” λ¦¬μŠ€νŠΈμ™€ λΉ„μŠ·ν•œλ°, immutable(값을 λ³€κ²½ν•  수 μ—†λŠ”) μ΄λΌλŠ” νŠΉμ§•μ„ κ°–λŠ”λ‹€.

 

βœ… Dictionary(λ”•μ…”λ„ˆλ¦¬)

  • dict[ν‚€] = κ°’
  • μ‚­μ œν•˜κ³  μ‹ΆμœΌλ©΄ del dict[ν‚€]

βœ… λ…Όλ¦¬ μ—°μ‚°μž

  • and : λ‘˜ λ‹€ 참이어야 μ°Έ
  • or : ν•˜λ‚˜λΌλ„ 참이면 μ°Έ
  • not : λ°˜λŒ€

βœ… Membership

  • in : ν¬ν•¨λ˜μ–΄ μžˆλŠ”μ§€ 확인
  • not in : ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•Šμ€μ§€ 확인

βœ… λ°˜λ³΅λ¬Έ

  • for : νšŸμˆ˜κ°€ μžˆμ„ λ•Œ
  • while : 쑰건이 μžˆμ„ λ•Œ
    • continue : κ·Έ μ•„λž˜ λͺ…령을 μ‹€ν–‰ν•˜μ§€ μ•Šκ³  λ°”λ‘œ 쑰건으둜 λŒμ•„κ°!
    • break : 쑰건과 상관없이 반볡문 μ’…λ£Œ!

βœ… Comprehension

numbers = [1,2,3,4,5,6,7,8,9,10]
odd_numbers = []

for number in numbers:
    if number % 2 ==1:
        odd_numbers.append(number)

print(odd_numbers)

# 같은 κ²°κ³Όλ₯Ό 훨씬 짧은 μ½”λ“œλ‘œ! 
odd_numbers2 = [number for number in numbers if number % 2==1]
print(odd_numbers2)

 

βœ… Function(ν•¨μˆ˜)

μ‚¬μš©ν•˜λŠ” 이유?  1.  μž¬μ‚¬μš©ν•˜λ €κ³ 

                         2. μ½”λ“œ 관리가 νŽΈν•΄μ„œ

                         3. μ‘°λ¦½ν•΄μ„œ μ‚¬μš©ν•  수 μžˆμ–΄μ„œ

 

βœ… μ½”λ”© μŠ€νƒ€μΌ

PEP8“ - μŠ€νƒ€μΌ κ°€μ΄λ“œλΌμΈ

  • λ©μ²­ν•˜κ²Œ 일관성 κ³ μ§‘ν•˜μ§€ 말라
  • λ“€μ—¬μ“°κΈ°λŠ” 4개의 곡백을 ꢌμž₯
  • νƒ­ λ¬Έμžλž‘ κ³΅λ°±μ΄λž‘ μ„žμ–΄μ“°μ§€ 말라
  • λ“±λ“±

λŒ“κΈ€