728x90
λ°˜μ‘ν˜•
728x90
λ°˜μ‘ν˜•

1) ν•¨μˆ˜

 

  • μš°λ¦¬κ°€ ν”„λ‘œκ·Έλž˜λ°μ„ μ’€ 더 μ‰½κ²Œ ν•  수 μžˆλ„λ‘ ν•΄μ€€λ‹€
  • μ²˜μŒλΆ€ν„° νŒŒμ΄μ¬μ—μ„œ μ œκ³΅ν•΄μ£ΌλŠ” 거솓 있고, μš°λ¦¬κ°€ ν•„μš”λ‘œ ν•˜λŠ” 것을 직접 λ§Œλ“€μ–΄ μ“Έ 수 μžˆλ‹€
# len () : 리슀트의 크기λ₯Ό μ•Œλ €μ£ΌλŠ” ν•¨μˆ˜ -> νŒŒμ΄μ¬μ—μ„œ μ œκ³΅ν•˜λŠ” 것
a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
len(a_list)  # 10

# μ •μˆ˜λ₯Ό μž…λ ₯λ°›κ³ , κ·Έ μˆ˜κ°€ λͺ‡ 자리 μˆ«μžμΈμ§€ 좜λ ₯ν•˜λŠ” ν•¨μˆ˜ numOfDigits () λ§Œλ“€κΈ°
def numOfDigits(num):
    print(len(str(num)))

 

++) μ—°μŠ΅λ¬Έμ œ

 

# λ‚΄ 풀이
for i in range (2, 10):
    for j in range (1,10):
        # print (f"{i} * {j} = {i * j}"
        print(i, "*", j, "=", (i*j))
        
 # λͺ¨λ²” λ‹΅μ•ˆ
 def multi(m):
        for n in range(1, 10):
            print(f'{m} * {n} = {m*n:2d}')


    if __name__ == '__main__':
        for i in range(2, 10):
            multi(i)
            print()

 

++) map ν•¨μˆ˜ 

  • ν•¨μˆ˜μ™€ 리슀트λ₯Ό 인자둜 λ°›κ³ 
  • λ¦¬μŠ€νŠΈλ‘œλΆ€ν„° μ›μ†Œλ₯Ό ν•˜λ‚˜μ”© κΊΌλ‚΄μ„œ ν•¨μˆ˜λ₯Ό μ μš©μ‹œν‚¨ λ‹€μŒ
  • κ²°κ³Όλ₯Ό μƒˆλ‘œμš΄ λ¦¬μŠ€νŠΈμ— λ‹΄μ•„μ€λ‹ˆλ‹€
map(ν•¨μˆ˜, 리슀트)

list(map(lambda x : x ** 2, range(5)))
[0, 1, 4, 9, 16]

 

 

++) reduce ν•¨μˆ˜

  • μ‹œν€€μŠ€(λ¬Έμžμ—΄, 리슀트, νŠœν”Œ) 의 μ›μ†Œλ“€μ„ λˆ„μ ν•΄μ„œ ν•¨μˆ˜μ— μ μš©μ‹œν‚΅λ‹ˆλ‹€
reduce(ν•¨μˆ˜, μ‹œν€€μŠ€)

from functools import reduce
reduce(lambda x, y: x + y, [0, 1, 2, 3, 4])   #10

 

++) filter ν•¨μˆ˜

  • μ›μ†Œλ“€μ„ ν•¨μˆ˜μ— μ μš©μ‹œμΌœμ„œ κ²°κ³Όκ°€ 참인 κ°’λ“€λ‘œ μƒˆλ‘œμš΄ 리슀트λ₯Ό λ§Œλ“€μ–΄μ€λ‹ˆλ‹€
filter(ν•¨μˆ˜, 리슀트)

list(filter(lambda x: x < 5, range(10)))
[0, 1, 2, 3, 4]

 

 

2) λ°˜ν™˜ (return) λ¬Έ

 

  • ν•¨μˆ˜μ˜ 값을 돌렀주기 μœ„ν•΄ return이 μ‚¬μš©λœλ‹€
# λ§€κ°œλ³€μˆ˜λ‘œ 받은 μ •μˆ˜λ₯Ό ν•œκ΅­μ–΄λ‘œ ν‘œκΈ°ν•œ λ¬Έμžμ—΄μ„ λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜ korean_number() λ₯Ό μ •μ˜
# 단, λ§€κ°œλ³€μˆ˜λŠ” 1이상 10μ΄ν•˜μ˜ μ •μˆ˜

def korean_number(num):
    if num == 1:
        return '일'
    elif num == 2:
        return '이'
    elif num == 3:
        return 'μ‚Ό'
    elif num == 4:
        return '사'
    elif num == 5:
        return '였'
    elif num == 6:
        return '윑'
    elif num == 7:
        return 'μΉ '
    elif num == 8:
        return 'νŒ”'
    elif num == 9:
        return 'ꡬ'
    elif num == 10:
        return 'μ‹­'

 

 

3) μ§€μ—­λ³€μˆ˜, μ „μ—­λ³€μˆ˜

 

  • μ§€μ—­λ³€μˆ˜ : ν•¨μˆ˜ μ•ˆμ—μ„œ λ§Œλ“€μ–΄μ§„ λ³€μˆ˜, ν•¨μˆ˜κ°€ 호좜되면 λ§Œλ“€μ–΄μ Έμ„œ, ν•¨μˆ˜μ˜ 싀행이 끝날 λ–„ ν•¨κ»˜ 없어진닀
  • μ „μ—­λ³€μˆ˜ : ν•¨μˆ˜ λ°–μ—μ„œ λ§Œλ“€μ–΄μ§„ λ³€μˆ˜ , ν•¨μˆ˜μ™€ 관계없이 항상 μœ μ§€λœλ‹€

=> 그럼 항상 μœ μ§€λ˜λŠ” μ „μ—­ λ³€μˆ˜λ₯Ό 쓰지 λ­ν•˜λŸ¬ 지역 λ³€μˆ˜λ₯Ό 쓰냐??

더보기

    μ „μ—­λ³€μˆ˜λŠ” ν”„λ‘œκ·Έλž¨μ΄ λ³΅μž‘ν•΄μ§ˆμˆ˜λ‘ λ‹€λ₯Έ ν•¨μˆ˜λ“€ λ•Œλ¬Έμ— λ³€μˆ˜μ˜ 값이 λ°”λ€Œμ–΄λ²„λ¦¬λŠ” κ²½μš°κ°€ μ’…μ’… μžˆμ–΄μ„œ  ν•„μš”μ— 따라 μ§€μ—­λ³€μˆ˜μ™€ μ „μ—­λ³€μˆ˜λ₯Ό 골라 μ“°λŠ” 것이 μ’‹λ‹€. 

  • ν•¨μˆ˜ μ•ˆμ—μ„œ μ „μ—­λ³€μˆ˜λ₯Ό λ§Œλ“œλŠ” 방법도 μžˆλ‹€ : μ „μ—­λ³€μˆ˜(global)둜 μ‚¬μš©ν•˜κ² λ‹€κ³  λͺ…μ‹œ
def e_is_10():
    global e   # μ „μ—­λ³€μˆ˜
    e = 10
    print('e 값은 ', e, 'μž…λ‹ˆλ‹€')

 

4) λžŒλ‹€

 

  • λžŒλ‹€ ν˜•μ‹μ€ 인곡지λŠ₯ λΆ„μ•Όλ‚˜ AutoCAD λΌλŠ” 섀계 ν”„λ‘œκ·Έλž¨μ—μ„œ μ“°μ΄λŠ” Lisp μ–Έμ–΄μ—μ„œ λ¬Όλ €λ°›μ•˜λ‹€
  • ν•¨μˆ˜λ₯Ό λ”± ν•œμ€„λ‘œ λ§Œλ“€μ–΄μ€€λ‹€
lambda λ§€κ²¨λ³€μˆ˜ : ν‘œν˜„μ‹

(lambda x, y : x+y) (10, 20)   # 30

 

++) str.strip으둜 λ¬Έμžμ—΄ μ•žλ’€μ˜ 곡백을 μ œκ±°ν•  수 μžˆλ‹€

>>> str.strip(" I am a boy. ")
'I am a boy.'

 

728x90
λ°˜μ‘ν˜•

+ Recent posts