ë¹ ë¥´ê²Œ 파ì´ì¬ 소개하기: 3부, ë¼ì´ë¸ŒëŸ¬ë¦¬ 사용 ====================================================== í”„ë¡œê·¸ëž¨ì— í•¨ìˆ˜ë¥¼ ìž¬ì •ì˜í•´ì„œ í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•˜ê¸°ë³´ë‹¤, 다른 í”„ë¡œê·¸ëž¨ì— ìžˆëŠ” 함수를 ì‚¬ìš©í• ë•Œ, **ë¼ì´ë¸ŒëŸ¬ë¦¬(library)** ë¼ëŠ” 특별한 í”„ë¡œê·¸ëž¨ì— í•¨ìˆ˜ë¥¼ ë„£ê³ , ë¼ì´ë¸ŒëŸ¬ë¦¬ì— 있는 함수를 다른 í”„ë¡œê·¸ëž¨ì´ ì‚¬ìš©í• ìˆ˜ 있ë„ë¡ í•˜ëŠ” ë°©ë²•ì„ ì œê³µí•œë‹¤. ``turn_right()`` 함수를 매번 다시 작성하는 ëŒ€ì‹ ì— **ì—„ì²!** ë§Žì´ ì‚¬ìš©í• ê²ƒì´ë‹¤. **library** íƒì„ í´ë¦í•˜ê³ ê·¸ê³³ì— í•¨ìˆ˜ ìž‘ì„±ì„ ê¶Œìž¥í•œë‹¤. ``turn_right()`` í•¨ìˆ˜ë„ ê·¸ê³³ì— ìž‘ì„±í•´ì•¼ ëœë‹¤. ê·¸ë¦¬ê³ ë‚˜ì„œ, ë¼ì´ë¸ŒëŸ¬ë¦¬ì— ì •ì˜ëœ 함수를 ì‚¬ìš©í•˜ê³ ìž í• ë•Œ, 단순히 파ì´ì¬ 코드 편집기ì—ì„œ 한줄로 ``from library import`` (í•¨ìˆ˜ëª…ì„ ì½¤ë§ˆë¡œ 구분해서 ì‰ ì 는다) 타ì´í•‘한다. ``library`` 는 **library** íƒì— 존재하는 코드를 나타내는 명ì¹ì´ë‹¤. 다른 ê³³ì—ì„œ 보듯ì´, 파ì´ì¬ì€ ì‚¬ìš©í• ì½”ë“œë¥¼ í¬í•¨í•œ ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ 다른 명ì¹ìœ¼ë¡œ ì œê³µí•œë‹¤. |library| .. |library| image:: ../../images/library.gif ì´ ì§€ì 부터, 마치 파ì´ì¬ 코드 편집기ì—ì„œ ì •ì˜í•œ 것처럼, ``turn_right()`` 와 ``turn_around()`` 함수를 ì‚¬ìš©í• ìˆ˜ 있다. 다른 표기법: ``from`` 없는 ``import`` ------------------------------------------------ íŠ¹ì • 함수를 ê°€ì ¸ì˜¤ëŠ” ëŒ€ì‹ ì—, 단순히 í•¨ìˆ˜ëª…ì„ ê°€ì ¸ì˜¤ê¸° í• ìˆ˜ 있다:: import library ê·¸ë¦¬ê³ ë‚˜ì„œ, ë¼ì´ë¸ŒëŸ¬ë¦¬ì—ì„œ 함수를 ì‚¬ìš©í•˜ë ¤ë©´, 함수명 ì•žì— ë‹¤ìŒê³¼ ê°™ì´ ``library.`` 만 추가하면 ëœë‹¤:: library.turn_right() ë™ì¼í•œ 명ì¹(하지만, 다른 ì˜ë¯¸)ì„ ê°–ëŠ” 함수를 다수 ë¼ì´ë¸ŒëŸ¬ë¦¬ë¡œ 작업한다면 ìœ ìš©í•œ 기능ì´ë‹¤: 함수명 ì•žì— ë¼ì´ë¸ŒëŸ¬ë¦¬ 명ì¹ì„ 추가함으로ì¨, ì–´ë–¤ 함수가 호출ë˜ëŠ”지 ì •í™•í•˜ê²Œ 확ì¸í• 수 있다. 키워드 ``as`` --------------------- ê°€ë”, í•¨ìˆ˜ì— ë‹¤ë¥¸ 명ì¹ì„ 사용하는 ê²ƒì´ ìœ ìš©í• ìˆ˜ 있다 - 최초 명ì¹ì´ 너무 길거나, ë™ì¼ 명ì¹ì„ 갖는 다른 함수를 ì´ë¯¸ 사용하기 ë•Œë¬¸ì— ê·¸ë ‡ë‹¤. ì´ëŸ° ìƒí™©ì—ì„œ, 키워드 ``as`` 를 ì‚¬ìš©í• ìˆ˜ 있다:: from library import turn_right as right right() # use it turn_right() # not defined!!!! ëª¨ë“ ê²ƒ ê°€ì ¸ì˜¤ê¸° --------------------- 매우 ê°€ë”, ë˜ë‹¤ë¥¸ 파ì´ì¬ ë¼ì´ë¸ŒëŸ¬ë¦¬ê°€ 너무나 ë§Žì€ í•¨ìˆ˜ë¥¼ í¬í•¨í•˜ì§€ë§Œ, í•¨ìˆ˜ëª…ì„ ëª¨ë‘ ì 는 ê²ƒì´ ë§¤ìš° ê·€ì°®ê³ (기억하기 ì–´ë ¤ìš´) 경우가 있다:: from python_library import function1, function2, function3, ... 하지만, ëª¨ë“ ë‹¨ì¼ í•¨ìˆ˜ ì•žì— ``python_library.`` 를 ì‚¬ìš©í•˜ê³ ì‹¶ì§€ëŠ” 않다. ì´ëŸ° ìƒí™©ì—ì„œ, ë‹¤ìŒ êµ¬ë¬¸ì„ ì‚¬ìš©í• ìˆ˜ 있다:: from python_library import * ``*`` 기호는 "ëª¨ë“ ê²ƒ" ì„ ì˜ë¯¸í•˜ëŠ” 축약어로, 와ì¼ë“œì¹´ë“œ 문ìžë‹¤. ì˜ˆì œë¡œ 다ìŒê³¼ ê°™ì´ ì‹œë„í•´ë³¼ 수 있다:: from reeborg_fr import * 만약 ìƒê¸° ëª…ë ¹ì–´ë¥¼ ì‹œë„하게 ë˜ë©´, 리보그가 ì•Œê³ ìžˆëŠ” 프랑스어로 ëœ ëª¨ë“ ëª…ë ¹ì–´ë¥¼ ê°€ì ¸ì˜¨ë‹¤. ë”°ë¼ì„œ, ì˜ì–´ë¡œ ``move()``, 불어로 ``avance()`` ëª…ë ¹ì–´ë¥¼ 작성하면, 리보그가 ì „ë°©ìœ¼ë¡œ ì´ë™í•œë‹¤.