λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
🐍 | Python/파이썬 문법

λ³€μˆ˜μ˜ μœ νš¨λ²”μœ„

by KASSID 2021. 9. 22.

λͺ©μ°¨

    728x90

    ν•¨μˆ˜μ—μ„œ λΆ€ν„° μ΄μ–΄μ§€λŠ” 이야기!

     

    wafle = 20
    
    def store(customer):
        wafle = 20
        wafle = wafle-customer
    
    print("전체 μ™€ν”Œ 수 : {0}".format(wafle))
    store(2)
    print("남은 μ™€ν”Œ 수 : {0}".format(wafle))

    μœ„μ˜ μ˜ˆμ‹œλ₯Ό 보면 wafleμ΄λΌλŠ” λ³€μˆ˜μ— 20을 λŒ€μž…ν•˜κ³  ν•¨μˆ˜μ— μž…λ ₯κ°’ 2λ₯Ό μ£Όμ—ˆμœΌλ‹ˆ 남은 μ™€ν”Œ μˆ˜κ°€ 18이 λ‚˜μ™€μ•Ό ν•  것 κ°™λ‹€.

    ν•˜μ§€λ§Œ μ‹€μ œλ‘œ 싀행을 해보면 남은 μ™€ν”Œ μˆ˜λŠ” 20이 λ‚˜μ˜¨λ‹€.

    μ΄λŠ” ν•¨μˆ˜ λ‚΄μ˜ wafleμ΄λΌλŠ” λ³€μˆ˜λŠ” 'ν•¨μˆ˜λ§Œμ„ μœ„ν•œ λ³€μˆ˜'λΌλŠ” 것을 μ•Œ 수 μžˆλ‹€.

    이름이 동일해도 적용이 λ˜λŠ” λ²”μœ„κ°€ λ‹€λ₯Έ 것이닀.

    wafle = 20
    
    def store(customer):
        wafle = 20 #μ§€μ—­λ³€μˆ˜
        wafle = wafle-customer
    
    print("전체 μ™€ν”Œ 수 : {0}".format(wafle)) #μ „μ—­λ³€μˆ˜
    store(2)
    print("남은 μ™€ν”Œ 수 : {0}".format(wafle))

    μ΄λ•Œ ν•¨μˆ˜ 밖에 μžˆλŠ” λ³€μˆ˜μ΄μž κ·Έ ν”„λ‘œκ·Έλž¨ λ‚΄μ—μ„œ μ–΄λ””μ„œλ“  λΆ€λ₯Ό 수 μžˆλŠ” λ³€μˆ˜λ₯Ό μ „μ—­λ³€μˆ˜,

    그리고 ν•¨μˆ˜ λ‚΄μ—μ„œλ§Œ ν™œμš©ν•˜λŠ” 것을 μ§€μ—­λ³€μˆ˜λΌκ³  ν•œλ‹€.

     

     

    ν•¨μˆ˜ μ•ˆμ—μ„œ λ°–μœΌλ‘œ 영ν–₯μ£ΌκΈ°

    ν•¨μˆ˜λ₯Ό ν™œμš©ν•˜λ‹€λ³΄λ©΄ μžμ—°μŠ€λŸ½κ²Œ μ•ˆμ—μ„œ μ²˜λ¦¬ν•œ κ²°κ³Όλ₯Ό 밖에도 μ μš©μ„ μ‹œν‚€κ³  싢을 것이닀. κ·Έ 해결책을 μ•Œμ•„λ³΄λ©΄

     

    1. return ν™œμš©ν•˜κΈ°

    def store(customer):
        wafle = 20
        wafle = wafle-customer
        return wafle
    
    print("전체 μ™€ν”Œ 수 : {0}".format(wafle))
    wafle = store(2)
    print("남은 μ™€ν”Œ 수 : {0}".format(wafle))\
    γ…‘γ…‘γ…‘γ…‘γ…‘γ…‘γ…‘γ…‘
    전체 μ™€ν”Œ 수 : 20
    남은 μ™€ν”Œ 수 : 18

    return으둜 받은 결과값을 λ³€μˆ˜μ— λŒ€μž…μ‹œν‚€λ©΄ μ•ˆμ—μ„œ λ°–μœΌλ‘œ 이동이 κ°€λŠ₯ν•˜λ‹€!

     

    2. global

    wafle = 20
    def store(customer):
        global wafle
        wafle = wafle-customer
    
    print("전체 μ™€ν”Œ 수 : {0}".format(wafle))
    store(2)
    print("남은 μ™€ν”Œ 수 : {0}".format(wafle))
    γ…‘γ…‘γ…‘γ…‘γ…‘γ…‘γ…‘γ…‘
    전체 μ™€ν”Œ 수 : 20
    남은 μ™€ν”Œ 수 : 18

    ν•¨μˆ˜ λ‚΄μ—μ„œ global λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜λ©΄ ν•¨μˆ˜ λ°–μ˜ λ³€μˆ˜λ₯Ό 직접 μ‚¬μš©ν•˜κ² λ‹€λŠ” λœ»μ΄λ‹€.

    ν•˜μ§€λ§Œ globalν•¨μˆ˜λŠ” μ™ΈλΆ€ λ³€μˆ˜μ— 쒅속이 λ˜μ–΄ ν•¨μˆ˜κ°€ 독립적이지 μ•Šκ²Œ λ˜λ―€λ‘œ 가급적 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것이 μ’‹λ‹€κ³  ν•œλ‹€.

     

     

    '🐍 | Python > 파이썬 문법' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

    pickle  (0) 2021.09.28
    파일 μž…μΆœλ ₯  (0) 2021.09.23
    ν•¨μˆ˜_(2)  (0) 2021.09.20
    ν•¨μˆ˜_(1)  (0) 2021.09.19
    λ¬Έμžμ—΄ ν¬λ§€νŒ…  (0) 2021.09.18

    λŒ“κΈ€