¿ì¸®´Â ¹«¾ùÀ» ´Ù·ê °ÍÀΰ¡? |
---|
¾î¶°ÇÑ Á¾·ùÀÇ Ã¢Á¶ÀûÀΠȰµ¿¿¡¼µµ ¿ì¸®´Â ¼¼ °¡ÁöÀÇ ±âº»ÀûÀÎ ¿ä¼Ò¸¦ ÇÊ¿ä·Î ÇÑ´Ù: µµ±¸¿Í, Àç·á ±×¸®°í ±â¼ú. ¿¹¸¦ µé¾î ³»°¡ ±×¸²À» ±×¸± ¶§´Â µµ±¸µéÀº º×, ¿¬ÇÊ ±×¸®°í ÆÈ·¹Æ®ÀÌ´Ù. ±â¼úÀº µ¡Ä¥Çϰí, È¥ÇÕÇϰí, Èð»Ñ¸®°í µîµî °ú °°Àº °ÍÀÌ´Ù. ¸¶Áö¸·À¸·Î Àç·á´Â ÆäÀÎÆ®, Á¾ÀÌ ±×¸®°í ¹°ÀÌ´Ù. ºñ½ÁÇÏ°Ô ³»°¡ ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§´Â, ³ªÀÇ µµ±¸´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î, ¿î¿µÃ¼Á¦¿Í Çϵå¿þ¾îÀÌ´Ù. ±â¼úÀº ÀÌ Àü ¼½¼Çµé¿¡¼ ¿ì¸®°¡ ³íÀÇÇÑ ÇÁ·Î±×·¡¹Ö ±¸Á¶µéÀÌ´Ù ±×¸®°í Àç·á´Â ³»°¡ ó¸®ÇؾßÇÒ µ¥ÀÌŸÀÌ´Ù. ÀÌ Àå¿¡¼ ¿ì¸®´Â ÇÁ·Î±×·¡¹ÖÀÇ Àç·áµéÀ» »ìÆìº¼ °ÍÀÌ´Ù.
ÀÌ ÀåÀº ´ë´ÜÈ÷ ±ä ¼½¼ÇÀÌ¸ç ±× º»¼º»ó ¿©·¯ºÐÀº ¾à°£Àº ¹«¹Ì°ÇÁ¶ÇÏ°Ô ´À³¥ °ÍÀε¥, ±×·¡µµ ÁÁÀº ¼Ò½ÄÀº ¿©·¯ºÐÀÌ ÇѹøÀÌ¶óµµ ±× ¸ðµÎ¸¦ ÀÐÀ» ÇÊ¿ä´Â ¾ø´Ù´Â °ÍÀÌ´Ù. ÀÌ ÀåÀº ¸ÕÀú »ç¿ë°¡´ÉÇÑ °¡Àå ±âº»ÀûÀÎ µ¥ÀÌŸ ÇüÀ» »ìÆìº¸°í °è¼ÓÇÏ¿© ¾î¶»°Ô ¿ì¸®´Â Ç׸ñµéÀÇ ¸ðÀÓÀ» ´Ù·ê °ÍÀÎÁö¿¡ ´ëÇÏ¿© ³ª¾Æ°¡°í ¸¶Áö¸·À¸·Î ¾à°£ ´õ Áøº¸µÈ Àç·áµéÀ» »ìÆìº¼ °ÍÀÌ´Ù. ÁýÇÕÇü Àç·áµéÀ» ´Ù·é, ÀÌ ÀåÀ» »ý·«ÇÒ ¼ö°¡ ÀÖ´Ù. ´ÙÀ½ ¸î °³ÀÇ ÀåÀ» ´Ù·ç¾î º¸°í ±×¸®°í ³ª¼ ÀÌ ÀåÀ¸·Î µ¹¾Æ ¿À¶ó. ±× ¶§ ¿ì¸®´Â ´õ¿í Áøº¸µÈ Á¶°¢µéÀ» »ç¿ëÇϱ⠽ÃÀÛÇÒ °ÍÀÌ´Ù.
µ¥ÀÌŸ´Â ¸ðµç »ç¶÷µéÀÌ »ç¿ëÀ» ÇÏÁö¸¸ ½ÇÁ¦·Î ÀÌÇØÇÏ´Â »ç¶÷Àº µå¹® ¿ë¾îµé ÁßÀÇ ÇϳªÀÌ´Ù.
³» »çÀüÀº ±×°ÍÀ» ´ÙÀ½°ú °°ÀÌ Á¤ÀÇÇϰí ÀÖ´Ù:
"°á°ú¸¦ À̲ø¾î ³¾¼ö ÀÖ´Â »ç½Çµé ȤÀº ¼ýÀÚµé; Á¤º¸"
±×°ÍÀ¸·Î Å« µµ¿òÀº ¾ÈµÇ°ÚÁö¸¸ Àû¾îµµ Ãâ¹ßÁ¡Àº Á¦°øÇØ ÁØ´Ù. ÇÁ·Î±×·¡¹Ö ¿ë¾î·Î µ¥ÀÌŸ°¡ ¾î¶»°Ô »ç¿ëµÇ´Â Áö¸¦ »ìÆìº½À¸·Î½á ¿ì¸®°¡ »ç½ÇÀ» ¸íÄèÇÏ°Ô Á¤¸®ÇÒ ¼ö ÀÖ´ÂÁö »ìÆìº¸ÀÚ. µ¥ÀÌŸ´Â °¡°øµÇÁö ¾ÊÀº Á¤º¸ÀÌ´Ù, ±×°ÍÀ» ¿©·¯ºÐÀÇ ÇÁ·Î±×·¥ÀÌ Ã³¸®ÇÑ´Ù. µ¥ÀÌŸ°¡ ¾øÀÌ´Â ÇÁ·Î±×·¥Àº ¾î¶°ÇÑ À¯¿ëÇÑ ±â´Éµµ ¼öÇàÇÒ ¼ö ¾ø´Ù. ÇÁ·Î±×·¥Àº ¶§·Î´Â µ¥ÀÌŸÀÇ Çütype¿¡ µû¶ó¼, ¿©·¯°¡Áö ¹æ½ÄÀ¸·Î µ¥ÀÌŸ¸¦ ó¸®ÇÑ´Ù. °¢ µ¥ÀÌŸÀÇ ÇüÀº ¶ÇÇÑ ¸¹Àº ¼öÀÇ Ã³¸®¹æ¹ýoperationsµéÀ» °¡Áø´Ù - ±×°ÍÀ¸·Î ¿©·¯ºÐ µ¥ÀÌŸ¿¡ 󸮸¦ ÇÑ´Ù. ¿¹¸¦ µé¾î ¿ì¸®´Â ¼ýÀÚµéÀ» ´õÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» º¸¾Ò´Ù. µ¡¼ÀÀº ¼öÄ¡ÇüÀÇ µ¥ÀÌŸ¿¡ »ç¿ëµÇ´Â 󸮹æ¹ýÀÌ´Ù. µ¥ÀÌŸ´Â ¿©·¯°¡Áö ÇüŰ¡ ÀÖ´Ù. ¿ì¸®´Â °¡Àå ÀϹÝÀûÀÎ Çüŵé°ú ±× ÇüÅ¿¡ »ç¿ë°¡´ÉÇÑ Ã³¸®¹æ¹ýÀ» »ìÆìº¼ °ÍÀÌ´Ù:
µ¥ÀÌŸ´Â ¿©·¯ºÐÀÇ ÄÄÇ»Å͸޸𸮿¡ ÀúÀåµÈ´Ù. ¿©·¯ºÐÀº À̰ÍÀ» ÆíÁö¸¦ ºÐ·ùÇϱâ À§ÇÏ¿© ¿ìÆí¹æ¿¡¼ »ç¿ëµÇ´Â »óÀÚµé·Î °¡µæÇÑ Å« º®À̶ó°í ºñÀ¯ÇÒ ¼ö ÀÖ´Ù. ¿©·¯ºÐÀº ÆíÁö¸¦ ¾î¶² »óÀÚ¿¡¼ ³ÖÀ» ¼ö ÀÖÁö¸¸, »óÀÚ¿¡ Àû´çÇÑ ¸ñÀûÁö ÁÖ¼Ò°¡ ºÙ¾îÀÖÁö ¾Ê´Ù¸é ±×°ÍÀº ¾Æ¹«·± Àǹ̾ø´Â ÀÏÀÌ´Ù. º¯¼öµéÀº ¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ ¸Þ¸ð¸®¿¡ ÀÖ´Â »óÀڵ鿡 ºÙ¿©Áø ¶óº§°ú °°Àº °ÍÀÌ´Ù.
µ¥ÀÌŸÀÇ ¸ð½ÀÀÌ ¾î¶°ÇÑÁö¸¦ ÀÌÇØÇÏ´Â °ÍÀº ÀÌÇØÇÒ ¼ö·Ï ÁÁÀº °ÍÀÌÁö¸¸ ±×°ÍÀ» ´Ù·ç±â À§Çؼ´Â °Å±â¿¡ Á¢±ÙÇÒ Çʿ䰡 ÀÖÀ¸¸ç ±×°ÍÀÌ ¹Ù·Î º¯¼ö°¡ »ç¿ëµÇ´Â ÀÌÀ¯ÀÌ´Ù. ÇÁ·Î±×·¡¹Ö ¿ë¾î·Î ¿ì¸®´Â µ¥ÀÌŸ ÇüÀÇ ½Çüinstances¸¦ ¸¸µé¼ö ÀÖ°í ±×°ÍµéÀ» º¯¼ö¿¡ ÇÒ´çÇÒ ¼ö ÀÖ´Ù. º¯¼ö´Â ÄÄÇ»ÅÍ ¸Þ¸ð¸®ÀÇ ¾îµð¿£°¡ Àִ ƯÁ¤ÇÑ Áö¿ª¿¡ ´ëÇÑ ÂüÁ¶referenceÀÌ´Ù. ÀÌ·¯ÇÑ Áö¿ªÀº µ¥ÀÌŸ¸¦ °¡Áö°í ÀÖ´Ù. ¾î¶² ÄÄÇ»ÅÍ ¾ð¾î¿¡¼´Â º¯¼ö´Â ÀÚ½ÅÀÌ Áö½ÃÇÏ´Â ±× µ¥ÀÌŸÀÇ Çü°ú ¹Ýµå½Ã ÀÏÄ¡ÇØ¾ß¸¸ ÇÑ´Ù. ±×·¯ÇÑ º¯¼ö¿¡ À߸øµÈ ÇüÅÂÀÇ µ¥ÀÌŸ¸¦ ÇÒ´çÇÏ·Á´Â ¾î¶°ÇÑ ½Ãµµµµ ¿¡·¯¸¦ ¾ß±âÇÒ °ÍÀÌ´Ù. ¾î¶² ÇÁ·Î±×·¡¸ÓµéÀº ÀÌ·¯ÇÑ ÇüÅÂÀÇ ½Ã½ºÅÛÀ» ¼±È£ÇÑ´Ù, ÀÌ·¯ÇÑ ½Ã½ºÅÛÀº ŽÁöÇϱ⠾î·Á¿î ¹Ì¹¦ÇÑ ¹ö±×µéÀ» ¹æÁöÇÒ ¼ö Àֱ⠶§¹®¿¡ Á¤ÀûÇüÅÂstatic typing¶ó°í ¾Ë·ÁÁ® ÀÖ´Ù.
ÆÄÀ̽㿡¼ º¯¼ö´Â Àڽſ¡°Ô ÇÒ´çµÈ µ¥ÀÌŸÀÇ ÇüÀ» ÃëÇÑ´Ù. ÆÄÀ̽ãÀº ±× ÇüŸ¦ À¯ÁöÇÒ °ÍÀÌ°í ¿©·¯ºÐÀÌ (¹®ÀÚ¿À» ¼ýÀڵ ´õÇÏ·Á°í ÇÏ´Â °Í°ú °°Àº) ±«ÀÌÇÑ ¹æ½ÄÀ¸·Î µ¥ÀÌŸ¸¦ ¼¯¾î ¾²·Á°í ÇÏ¸é ¿©·¯ºÐ¿¡°Ô °æ°í¸¦ ÇÒ °ÍÀÌ´Ù. (¿¹Á¦ÀÇ ¿¡·¯ ¸Þ½ÃÁö°¡ ±â¾ï³ª´Â°¡? ±×°ÍÀº ´ÜÁö ±×·± Á¾·ùÀÇ ¿¹ÀÏ»ÓÀÌ´Ù.) ¿ì¸®´Â ÇÑ º¯¼ö°¡ Áö½ÃÇÏ´Â µ¥ÀÌŸÀÇ ÇüÀ» ±× º¯¼ö¸¦ ÀçÇÒ´çÇÔÀ¸·Î½á ¹Ù²Ü¼ö ÀÖ´Ù.
>>> q = 7 # q is now a number >>> print q 7 >>> q = "Seven" # reassign q to a string >>> print q Seven
'q'´Â ¼ýÀÚ 7À» Áö½ÃÇϵµ·Ï óÀ½¿¡ ¼³Á¤µÇ¾úÀ½À» ÁÖ¸ñÇ϶ó. ¿ì¸®°¡ ¹®ÀÚ¿ "seven"À» ±×°÷¿¡ ÇÒ´çÇÒ ¶§±îÁö 'q'´Â ±× °ªÀ» À¯ÁöÇÑ´Ù. ±×·±½ÄÀ¸·Î, ÆÄÀ̽ãÀÇ º¯¼ö´Â ¾î¶²°ªÀ» Áö½ÃÇϵçÁö ±× ÇüÀ» À¯ÁöÇÏÁö¸¸, ¿ì¸®´Â ±× º¯¼ö¸¦ ´Ü¼øÈ÷ ÀçÇÒ´çÇÔÀ¸·Î½á ±×°ÍµéÀÌ Áö½ÃÇÏ´Â °ÍÀ» º¯°æÇÒ ¼ö ÀÖ´Ù. ±× ¼ø°£¿¡ ¿ø·¡ÀÇ µ¥ÀÌŸ´Â '»ç¶óÁö°í' ÆÄÀ̽ãÀº (´Ù¸¥ º¯¼ö°¡ ¶Ç ±×°ÍÀ» Áö½ÃÇÏÁö ¾Ê´Â ÇÑ)±×°ÍÀ» ¸Þ¸ð¸®·ÎºÎÅÍ Áö¿ï °ÍÀÌ´Ù. À̰ÍÀº ¾²·¹±â ¼öÁý garbage collection.À̶ó°í ¾Ë·ÁÁ® ÀÖ´Ù.
¾²·¹±â ¼öÁýÀº °¡²û Àá½Ã Çѹø µé·Á¼ ¶óº§¾ø´Â »óÀÚ¿¡ µé¾î ÀÖ´Â ÆíÁöµéÀ» ¾ø¾Ö´Â ÆíÁö¹æ Á÷¿ø¿¡ ºñÀ¯µÉ ¼ö ÀÖ´Ù. ±×°¡ ¸¸¾à ¼ÒÀ¯ÀÚ È¤Àº ÁÖ¼Ò¸¦ ±× ÆíÁö¿¡¼ ¹ß°ßÇÒ ¼ö ¾ø´Ù¸é ±×´Â ±×°ÍµéÀ» ¾²·¹±âÅë¿¡ ¹ö¸°´Ù. µ¥ÀÌŸÇüÀÇ ¸î °¡Áö ¿¹Á¦µéÀ» »ìÆìº¸°í ÀÌ·¯ÇÑ ¸ðµç °ÍµéÀÌ ¾î¶»°Ô ¸Â¾Æ ¶³¾îÁö´ÂÁö ¾Ë¾Æº¸ÀÚ
±âº»ÀûÀÎ µ¥ÀÌŸ ÇüÀº À̸¥¹Ù ±×µéÀÌ ¿ì¸®°¡ ´Ù·ê ¼ö ÀÖ´Â °¡Àå ±âº»ÀûÀÎ µ¥ÀÌŸ ÇüÀ̱⠶§¹®¿¡ ±×·¸°Ô ºÒ·ÁÁø´Ù. ´õ¿í º¹ÀâÇÑ µ¥ÀÌŸ ÇüÀº ½ÇÁ¦·Î´Â ±âº»ÀûÀÎ ÇüÀÇ °áÇÕÀÌ´Ù. À̰͵éÀº, ºôµù ºí·Ï°ú °°¾Æ¼ ´Ù¸¥ ¸ðµç ÇüµéÀÌ ÀÌ À§¿¡ ¼¼¿öÁö¸ç, ÄÄÇ»ÆÃÀÇ Åä´ë°¡ µÈ´Ù. À̰Ϳ¡´Â ¹®ÀÚ, ¼ýÀÚ ±×¸®°í ºÒ¸®¾ð ÇüÀ̶ó°í ºÒ¸®¿ì´Â °Í µîÀÌ Æ÷ÇԵȴÙ.
¿ì¸®´Â ÀÌ¹Ì À̰͵éÀ» º¸¾Ò´Ù. ±×°ÍµéÀº ¸» ±×´ë·Î Á× ´Ã¾î¼± ȤÀº ¿¬¼ÓÀûÀÎ ¹®ÀÚµéÀÌ¾î¼ ¿©·¯ºÐÀÇ ½ºÅ©¸°¿¡ Ãâ·ÂµÉ ¼ö ÀÖ´Ù. (»ç½Ç °Å±â¿¡´Â Ãâ·ÂµÉ ¼ö ¾ø´Â Á¦¾î ¹®ÀÚ control charactersµéµµ ¿ª½Ã ÀÖÀ» ¼ö ÀÖ´Ù.)
ÆÄÀ̽㿡¼, ¹®ÀÚ¿Àº ¿©·¯°¡Áö ¹æ½ÄÀ¸·Î Ç¥ÇöµÉ ¼ö ÀÖ´Ù:
´ÜÀÏ ÀοëºÎÈ£¸¦ °¡Áö°í:
'Here is a string'
ÀÌÁß ÀοëºÎÈ£¸¦ °¡Áö°í:
"Here is a very similar string"
¼¼°³Â¥¸® ÀÌÁßÀοëºÎÈ£¸¦ °¡Áö°í:
""" Here is a very long string that can if we wish span several lines and Python will preserve the lines as we type them..."""
¸¶Áö¸·ÀÇ Æ¯º°ÇÑ »ç¿ë¹ýÀº ÆÄÀ̽㠿츮°¡ ½º½º·Î ¸¸µç ÇÔ¼öµéÀ» ¹®¼ÈÇÏ´Â °ÍÀÌ´Ù. - À̰ÍÀº ³ªÁß¿¡ ´Ù·ê °ÍÀÌ´Ù.
¿©·¯ºÐÀº ¹®ÀÚ¿¼Ó¿¡ ÀÖ´Â °³º°ÀûÀÎ ¹®ÀÚµéÀ» ¹®ÀÚ¿ÀÇ ¹è¿·Î Ãë±ÞÇÔÀ¸·Î½á Á¢±ÙÇÒ ¼ö ÀÖ´Ù.(¾Æ·¡ÀÇ ¹è¿À» ÂüÁ¶Ç϶ó) ¶ÇÇÑ ±× ÇÁ·Î±×·¡¹Ö¾ð¾î°¡ º¸Åë Á¦°øÇÏ´Â ¾à°£ÀÇ Ã³¸®¹æ¹ýµéµµ ÀÖ¾î¼ ¿©·¯ºÐÀÌ ¹®ÀÚ¿À» ´Ù·ê¼ö ÀÖµµ·Ï µµ¿Í ÁØ´Ù. - ÇϺΠ¹®ÀÚ¿ ã±â, µÎ°³ÀÇ ¹®ÀÚ¿À» ¿¬°áÇϱâ, ÇϳªÀÇ ¹®ÀÚ¿À» ´Ù¸¥ ¹®ÀÚ¿¿¡ º¹»çÇϱ⠵îµî.
¹®ÀÚ¿¿¡ ¼öÇà°¡´ÉÇÑ ¼ö ¸¹Àº 󸮹æ½ÄµéÀÌ ÀÖ´Ù. ÀÌ·¯ÇÑ °Íµé Áß ¾à°£Àº ÆÄÀ̽㿡 ³»ÀåµÇ¾úÀ¸³ª ´Ù¸¥ ¸¹Àº °ÍµéÀº ¸ðµâ·Î Á¦°øµÇ¾î ¿©·¯ºÐÀº ¹Ýµå½Ã (°£´ÜÇÑ ¿¬¼Ó¿ ¼½¼Ç¿¡¼ sys¸ðµâÀ» ´Ù·é °Í°ú °°ÀÌ)±× ¸ðµÑÀ» ¼öÀÔÇÒ Çʿ䰡 ÀÖ´Ù.
¿¬»êÀÚ | ¼³ ¸í |
---|---|
S1 + S2 | S1°ú S2¸¦ ¿¬°áÇϱâ |
S1 * N | S1À» N¹ø ¹Ýº¹Çϱâ |
¿ì¸®´Â À̰͵éÀÌ ´ÙÀ½ ¿¹Á¦¿¡¼¿Í °°ÀÌ ÀÛµ¿ÇÏ´Â °ÍÀ» º¼¼ö ÀÖ´Ù:
>>> print 'Again and ' + 'again' # string concatenation Again and again >>> print 'Repeat ' * 3 # string repetition Repeat Repeat Repeat >>> print 'Again ' + ('and again ' * 3) # combine '+' and '*' Again and again and again and again
¿ì¸®´Â ¶ÇÇÑ ¹®ÀÚ¿À» º¯¼ö¿¡ ÇÒ´çÇÒ ¼öµµ ÀÖ´Ù:
>>> s1 = 'Again ' >>> s2 = 'and again ' >>> print s1 + (s2 * 3) Again and again and again and again
°¡Àå ¸¶Áö¸·ÀÇ µÎ °³ÀÇ ¿¹Á¦´Â ¶È °°Àº Ãâ·ÂÀ» »êÃâÇϰí ÀÖÀ½À» ÁÖ¸ñÇ϶ó.
DIM MyString$ MyString$ = "Hello there!" PRINT MyString$
TclÀº ³»ºÎÀûÀ¸·Î ¸ðµç °Í¿¡ ¹®ÀÚ¿À» »ç¿ëÇÑ´Ù. »ç¿ëÀÚÀÇ °üÁ¡¿¡¼ º»´Ù¸é ±×·¸Áö¸¸ À̰ÍÀº º¸ÅëÀº È®½ÇÇÏ°Ô º¸ÀÌÁö ¾Ê´Â´Ù. ¸í½ÃÀûÀ¸·Î ¹®ÀÚ¿À» ´Ù·ê ¶§´Â ¿©·¯ºÐÀº ±×°ÍÀ» ÀÌÁßÀοëºÎÈ£·Î µÑ·¯½Î¾ß ÇÑ´Ù. Tcl¿¡¼ ÇϳªÀÇ °ªÀ» º¯¼ö¿¡ ÇÒ´çÇϱâ À§Çؼ´Â set¸í·É¾î¸¦ »ç¿ëÇ϶ó ±×¸®°í ¹®ÀÚ¿ º¯¼ö¸¦ Àбâ À§Çؼ´Â (ȤÀº ½ÇÁ¦·Î Tcl¿¡¼´Â ¾î¶² º¯¼öµµ ¸¶Âù°¡ÁöÀÌ´Ù.) '$'±âÈ£¸¦ ±× À̸§¾Õ¿¡ ³õ¾Æ¶ó, ´ÙÀ½°ú °°ÀÌ:
% set Mystring "Hello world" % put $Mystring
ÁÖÀÇ: Tcl °ú BASIC¿¡¼´Â ¿À·ÎÁö ÀÌÁßÀοëºÎÈ£¸¸ÀÌ ¹®ÀÚ¿¿¡ »ç¿ëµÉ ¼ö ÀÖ´Ù.
Á¤¼ö´Â ´ë´ÜÈ÷ Å« À½ÀÇ °ªÀ¸·ÎºÎÅÍ ´ë´ÜÈ÷ Å« ¾çÀÇ °ª±îÁö ¼Ò¼öÁ¡À» Æ÷ÇÔÇÏÁö ¾ÊÀº ¼öÀÌ´Ù. ±×°ÍÀº ²À ±â¾ïÇØ¾ßÇÒ Áß¿äÇÑ Á¡ÀÌ´Ù. º¸Åë ¿ì¸®´Â ¼ýÀÚµéÀÌ Å©±â¿¡ ÀÖ¾î Á¦ÇÑ µÇÁö ¾Ê´Â´Ù°í »ý°¢ÇÏÁö¸¸ ÄÄÇ»ÅÍ¿¡¼´Â »óÇѰú ÇÏÇÑÀÌ Á¸ÀçÇÑ´Ù. »óÇѰªÀÇ Å©±â´Â MAXINT¶ó°í ¾Ë·ÁÁ® ÀÖÀ¸¸ç, ¼ýÀÚ¸¦ Ç¥ÇöÇϱâ À§ÇÏ¿© ¿©·¯ºÐÀÇ ÄÄÇ»ÅͰ¡ »ç¿ëÇÏ´Â ºñÆ®ÀÇ ¼ýÀÚ¿¡ ÀÇÇÏ¿© °áÁ¤µÈ´Ù. ¿À´Ã³¯ÀÇ ´ëºÎºÐÀÇ ÄÄÇ»ÅÍ¿¡¼´Â 32ºñÆ®°¡ ±âº»ÀÌ¸ç ±×·¡¼ MAXINT°ªÀº ¾à 20¾ï Á¤µµ°¡ µÈ´Ù.
¾ç°ú À½ÀÇ °ªÀ» °¡Áö´Â ¼ýÀÚ´Â ºÎÈ£ÀÖ´Â Á¤¼ösigned integers¶ó°í ¾Ë·ÁÁ® ÀÖ´Ù. ¿©·¯ºÐÀº ¹°·Ð 0 À» Æ÷ÇÔÇÏ¿©, ¾çÀÇ ¼ýÀڷθ¸ Á¦ÇÑµÈ ºÎÈ£¾ø´Â Á¤¼öunsigned integers¸¦ °¡Áú ¼öµµ ÀÖ´Ù. À̰ÍÀº ´õ Å« ÃÖ´ë°ªÀ» MAXINTÀÇ µÎ¹è ȤÀº 40¾ï °¡·®À¸·Î »ç¿ë°¡´ÉÇÏ´Ù´Â °ÍÀ» ÀǹÌÇϴµ¥ ¿ì¸®°¡ À½ÀÇ ¼ö¸¦ ³ªÅ¸³»±â À§ÇÏ¿© ±× Àü¿¡ »ç¿ëÇß´ø °ø°£µéÀ» »ç¿ëÇÏ¿© ¾çÀÇ ¼ýÀÚµéÀ» ´õ¿í ¸¹ÀÌ ³ªÅ¸³¾ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
Á¤¼ö´Â Å©±â°¡ MAXINT°ªÀ¸·Î Á¦ÇÑ µÇ¾î ÀÖÀ¸¹Ç·Î µÎ °³ÀÇ Á¤¼ö¸¦ ´õÇÏ¿© ÇÔ°è°¡ MAXINT°ªº¸´Ù Å©°Ô µÈ´Ù¸é ÇÕ°è´Â ¿¡·¯¸¦ ¹ß»ý½ÃŲ´Ù. ¾î¶² ½Ã½ºÅÛ/¾ð¾î¿¡¼´Â À߸øµÈ °ªÀº ´Ü¼øÈ÷ ±×´ë·Î ¹ÝȯµÉ »ÓÀÌ´Ù( º¸Åë ¾î¶² ºñ¹Ð½º·± Ç¥½ÄÀÌ Á¦±âµÇ¸é ¿©·¯ºÐÀÌ »ý°¢Çϱ⿡ ±×°ÍÀÌ ¿Ã¹Ù¸£°Ô ¼³Á¤ µÇ¾ú´ÂÁö¸¦ ¿©·¯ºÐÀº Á¡°ËÇÒ¼ö ÀÖ´Ù.) º¸Åë ¿¡·¯ Á¶°ÇÀÌ ¾ß±âµÇ¸é ¿©·¯ºÐÀÇ ÇÁ·Î±×·¥Àº ±× ¿¡·¯¸¦ ó¸®ÇÒ ¼ö Àְųª ¾Æ´Ï¸é ÇÁ·Î±×·¥Àº Á¾Ç¥ÇÑ´Ù. ÆÄÀ̽ãÀº ÈÄÀÚÀÇ Á¢±Ù¹æ½ÄÀ» ÃëÇϰí ÀÖ°í ¹Ý¸é¿¡ TclÀº ÀüÀÚ¸¦ äÅÃÇϰí ÀÖ´Ù. º£ÀÌÁ÷µµ ¿¡·¯¸¦ ¾ß±âÇÏÁö¸¸ ¿¡·¯¸¦ ÀâÀ» ¼ö ÀÖ´Â ¹æ¹ýÀº Á¦°øÇÏÁö ¾Ê´Â´Ù.( Àû¾îµµ ³ ¾î¶»°Ô ÇÏ´ÂÁö ¸ð¸¥´Ù!)
¿ì¸®´Â ÀÌ¹Ì ´ëºÎºÐÀÇ ¼öÇÐÀû ¿¬»êÀÚ¸¦ º¸¾Ò´Ù. ¿©·¯ºÐÀº '´Ü¼øÇÑ ¿¬¼Ó¿'ÀÇ Àå¿¡¼ ±×°ÍµéÀÌ ÇÊ¿äÇß¾ú´Ù. ±×·¸Áö¸¸ ¿ä¾àÇÏÀÚ¸é:
¿¬»êÀÚ ¿¹ | ÇØ ¼³ |
---|---|
M + N | M °ú N ÀÇ µ¡¼À |
M - N | M ¿¡¼ N »©±â |
M * N | M °ú N ÀÇ °ö¼À |
M / N | ³ª´©±â, M°ú NÀÇ Çü¿¡ µû¶ó¼ Á¤¼ö ȤÀº ºÎµ¿¼Ò¼öÁ¡À» °á°ú·Î °¡Áø´Ù. ¸¸¾à M ¶Ç´Â N ÀÌ ½Ç¼ö¶ó¸é(¾Æ·¡¸¦ º¸¶ó) ±× °á°ú´Â ½Ç¼ö°¡ µÉ °ÍÀÌ´Ù. |
M % N | ³ª¸ÓÁö: MÀ» NÀ¸·Î ³ª´« ³ª¸ÓÁö¸¦ ã´Â´Ù. |
M**N | Áö¼öÈ: M À» NÁ¦°ö |
¿ì¸®´Â °¡Àå ¸¶Áö¸· ¿¹Á¦¸¦ Àü¿¡ º»ÀûÀÌ ÀÖ´Ù. ±×·¡¼ ¾î¶² Á¤¼öÇü º¯¼ö¸¦ ¸¸µé°í Áö¼ö ¿¬»êÀÚ¸¦ »ç¿ëÇÏ´Â ¿¹Á¦¸¦ Çϳª »ìÆìº¸ÀÚ:
>>> i1 = 2 # create an integer and assign it to i1 >>> i2 = 4 >>> i3 = 2**4 # assign the result of 2 to the power 4 to i3 >>> print i3 16
BASIC Àº Á¤¼ö¿¡ °üÇØ ¶Ç ´Ù¸¥ ±ÔÄ¢µéÀ» °¡Áö°í ÀÖ´Ù. Á¤¼öÇü º¯¼ö¸¦ ¼±¾ðÇϱâ À§ÇÏ¿© º£ÀÌÁ÷¿¡¼ ¿©·¯ºÐÀº ¾Æ¹«°Íµµ ºÙÀÌÁö ¾ÊÀº À̸§ ±×´ë·Î¸¦ »ç¿ëÇÏ´ø°¡ ¿ì¸®°¡ ¿øÇÏ´Â °ÍÀÌ Á¤¼ö¶ó´Â ½ÅÈ£¸¦ º£ÀÌÁ÷¿¡°Ô ÁÙ ¼ö°¡ ÀÖ´Ù (À̰ÍÀÌ Á»´õ È¿À²ÀûÀÏ °ÍÀÌ´Ù.) ¿ì¸®´Â À̸§À» '%'·Î ³¡³¿À¸·Î¼ À̰ÍÀ» ÇÒ ¼ö ÀÖ´Ù:
FOO = 8 REM FOO can hold any kind of number BAR% = 9 REM BAR can only hold integers
BASIC¿¡¼ Á¤¼öÇü º¯¼ö¿¡ °üÇÏ¿© ¸¶Áö¸· ÁÖÀÇ»çÇ×:
i% = 7 PRINT 2 * i% i% = 4.5 PRINT 2 * i%
4.5°¡ i%¿¡ ÇÒ´çµÈ °ÍÀÌ ÀÛµ¿ÇÏ´Â °Í°°ÀÌ º¸ÀÌÁö¸¸ ´ÜÁö Á¤¼öºÎºÐ¸¸ÀÌ ½ÇÁ¦·Î ÇÒ´çµÇ¾ú´Ù´Â °ÍÀ» ÁÖ¸ñÇ϶ó. À̰ÍÀ» º¸¸é ÆÄÀ̽ãÀÌ Á¤¼ö³ª´°¼ÀÀ» ´Ù·ç´ø ¹æ½ÄÀÌ »ý°¢³´Ù. ¸ðµç ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ÀڽŸ¸ÀÇ ÀÌ·¯ÇÑ °³¼ºÀ» °¡Áø´Ù!
Áö³¹ø¿¡ ¾ð±ÞÇÑ °Í°°ÀÌ TclÀº ¸ðµç °ÍÀ» ³»ºÎÀûÀ¸·Î ¹®ÀÚ¿·Î ÀúÀåÇÑ´Ù, ±×·¸Áö¸¸ »ç¿ëÀÚ´Â ÀÌ°Í ¶§¹®¿¡ ´Ù¸¥ Ưº°ÇÑ Â÷À̸¦ ´À³¢Áö´Â ¾Ê´Âµ¥ ¿Ö³ÄÇϸé TclÀÌ µ¤°³ ¾Æ·¡¿¡¼ ±× °ªÀ» ¼ýÀÚ·Î ¹Ù²Ù¾îÁÖ°í ¶Ç ´Ù½Ã, ¿ø·¡ÀÇ °ªÀ¸·Î ȯ¿ø½ÃÄÑÁֱ⠶§¹®ÀÌ´Ù. ±×·¸°Ô ¸ðµç ¼ýÀÚÀÇ Å©±â¿¡ ´ëÇÑ ¸ðµç Á¦ÇÑ »çÇ×µéÀº ¿©ÀüÈ÷ Àû¿ëµÈ´Ù.
Tcl¿¡¼ ¼ýÀÚ¸¦ »ç¿ëÇÏ´Â °ÍÀº ´ëºÎºÐÀÇ ¾ð¾îº¸´Ù´Â ¾à°£Àº ´õ º¹ÀâÇѵ¥ ¿Ö³ÄÇÏ¸é ¾î¶² °è»êÀ» ÇϰíÀÚ ÇÑ´Ù¸é ¿©·¯ºÐÀº ±× ÀÎÅÍÇÁ¸®ÅÍ¿¡°Ô °è»êÀÌ ÇÊ¿äÇÏ´Ù´Â ½ÅÈ£¸¦ ÁÖ¾î¾ß¸¸ Çϱ⠶§¹®ÀÌ´Ù. ¿©·¯ºÐÀº ±×°ÍÀ» expr¸í·É¾î¸¦ »ç¿ëÇÏ¿© °è»êÀ» ÇÑ´Ù:
% put [expr 6 + 5] 11
TclÀº °¢°ýÈ£¸¦ º¸°í¼ ¸¶Ä¡ ¸í·É¾î ¶óÀο¡¼ ŸÀÌÇÁ µÈ °Í °°ÀÌ, ±× ºÎºÐÀ» ¸ÕÀú Æò°¡ÇÑ´Ù. Æò°¡Áß¿¡ expr ¸í·É¾î¸¦ º¸°Ô µÇ¸é °è»êÀ» ¼öÇàÇÑ´Ù. °á°ú´Â put ¸í·É¾î·Î ½ºÅ©¸°¿¡ Ãâ·ÂµÈ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ Á÷Á¢ÀûÀ¸·Î ±× Çհ踦 Ãâ·ÂÇÏ·Á°í ÇÑ´Ù¸é TclÀº ´ÜÁö "6 + 5"¸¸À» Ãâ·ÂÇÒ °ÍÀÌ´Ù:
% put 6 + 5 6 + 5
À̰ÍÀº ºÐ¼öÀÌ´Ù. ±×°ÍÀº ´ë´ÜÈ÷ Å« ¼ö¸¦ ³ªÅ¸³¾ ¼ö ÀÖ¾î¼, MAXINTº¸´Ù ÈξÀ ´õ Å©Áö¸¸, Á¤¹Ðµµ´Â ¶³¾îÁø´Ù. ´Ù½Ã ¸»Çϸé Á¤È®È÷ µ¿ÀÏÇØ¾ß¸¸ ÇÏ´Â µÎ °³ÀÇ ½Ç¼ö°¡ ÄÄÇ»ÅÍ¿¡ ÀÇÇÏ¿© ºñ±³µÉ ¶§´Â ±×·¸Áö ¾Ê´Ù´Â °ÍÀÌ´Ù. À̰ÍÀº ÄÄÇ»ÅͰ¡ ±Ù»çÄ¡·Î ¾î¸²¼ÀÀ» Çϱ⠶§¹®ÀÌ´Ù. ±×·±½ÄÀ¸·Î 4.0Àº ÄÄÇ»ÅÍ¿¡ ÀÇÇØ¼´Â 3.9999999.... ¶Ç´Â 4.000000....01 ·Î ³ªÅ¸³»¾îÁú ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ¾î¸²¼ÀÀº ´ëºÎºÐÀÇ ¸ñÀû¿¡´Â ÃæºÐÇÏÁö¸¸ ¶§·Î´Â À̰ÍÀº ´ë´ÜÈ÷ Áß¿äÇÑ ¹®Á¦ÀÌ´Ù! ¸¸¾à ¿©·¯ºÐÀÌ ½Ç¼ö¸¦ »ç¿ëÇßÀ»¶§ ¿ì½º¿î °á°ú¸¦ ¾ò¾ú´Ù¸é, À̰ÍÀ» ¸í½ÉÇ϶ó.
ºÎµ¿¼Ò¼öÁ¡ ¼ö´Â ¼öÄ¡¸¦ Á¤¼ö°ªÀ¸·Î Àß¶ó³»´Â ´É·Â°ú ÇÔ²² Á¤¼ö¿Í ¶È °°Àº 󸮹æ½ÄÀ» °¡Áø´Ù.
¿©·¯ºÐÀÌ °úÇÐÀû ȤÀº ¼öÇÐÀû ¹è°æÀ» °¡Áö°í ÀÖ´Ù¸é ¿©·¯ºÐÀº º¹¼Ò¼ö¿¡ ´ëÇÏ¿© ±Ã±ÝÇÒ °ÍÀÌ´Ù. ±×·¸Áö ¾Ê´Ù¸é ¿©·¯ºÐÀº º¹¼Ò¼ö¸¦ µé¾îº¸Áöµµ ¾Ê¾ÒÀ» ¼ö ÀÖ´Ù! ¾îÂîµÇ¾úµç ¾î¶² ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼´Â, ÆÄÀ̽ãÀ» Æ÷ÇÔÇÏ¿©, º¹¼Ò¼ö ÇüÀ» ³»ºÎÀûÀ¸·Î Áö¿øÇÏ¸ç ¹Ý¸é¿¡ ´Ù¸¥ ¾ð¾îµéÀº º¹¼Ò¼ö¸¦ ´Ù·ê ¼ö ÀÖ´Â ÇÔ¼öÀÇ ¶óÀ̺귯¸®¸¦ Á¦°øÇØÁØ´Ù. ±×¸®°í ¿©·¯ºÐÀÌ ¹¯±â Àü¿¡ (³»°¡ ¸ÕÀú ¸»Çϸé), Çà·Ä ¿ª½Ã ¶È °°Àº °ÍÀÌ Àû¿ëµÈ´Ù.
ÆÄÀ̽㿡¼ º¹¼Ò¼ö´Â ´ÙÀ½°ú °°ÀÌ Ç¥ÇöµÈ´Ù:
(real+imaginaryj)
±×·±½ÄÀ¸·Î ´Ü¼øÇÑ º¹¼Ò¼öÀÇ µ¡¼ÀÀº ´ÙÀ½°ú °°´Ù:
>>> M = (2+4j) >>> N = (7+6j) >>> print M + N (9+10j)
¸ðµç Á¤¼ö ¿¬»êÀº ¶ÇÇÑ º¹¼Ò¼ö¿¡µµ Àû¿ëµÈ´Ù.
Á¦¸ñÀÌ ¸»ÇØÁÖ´Â ¹Ù¿Í °°ÀÌ, ÀÌ·¯ÇÑ ÇüÅ´ ¿ÀÁ÷ 2°¡Áö °ª¸¸À» °¡Áø´Ù - Âü true À̰ųª ȤÀº °ÅÁþ false¸¸À» °¡Áø´Ù. ¾î¶² ¾ð¾î´Â ºÒ¸®¾ð °ªÀ» Á÷Á¢ Áö¿øÇϰí, ´Ù¸¥ ¾ð¾î¿¡¼´Â ¾î¶² ¼öÄ¡ °ª (º¸ÅëÀº 0)Àº °ÅÁþÀ» ³ªÅ¸³»°í ´Ù¸¥ °ªµé( 1ȤÀº -1)µîÀº ÂüÀ» ³ªÅ¸³½´Ù´Â °ü·Ê¸¦ »ç¿ëÇÑ´Ù.
ºÒ¸®¾ð °ªÀº ¶§·Î´Â "Áø¸® °ª"À̶ó°í ¾Ë·ÁÁ® Àִµ¥ ¿Ö³ÄÇÏ¸é ¹«¾ùÀΰ¡°¡ ÂüÀΰ¡ ȤÀº ¾Æ´Ñ°¡ÇÏ´Â °ÍÀ» °ËÁõÇϴµ¥ ±×µéÀÌ »ç¿ëµÇ¾îÁö±â ¶§¹®ÀÌ´Ù. ¿¹¸¦ µé¾î ¿©·¯ºÐÀÌ ¸ðµç ÆÄÀÏÀ» ÇÑ µð·ºÅ丮¿¡ ¹é¾÷ÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ´Ù¸é ¿©·¯ºÐÀº °¢ ÆÄÀÏÀ» ¹é¾÷ÇÏ°í ¿î¿µÃ¼Á¦¿¡°Ô ´ÙÀ½ ÆÄÀÏÀÇ À̸§À» ¿ä±¸ÇÒ ¼öµµ ÀÖ´Ù. ¸¸¾à ÀúÀåÇØ¾ßÇÒ ´õ ÀÌ»óÀÇ ÆÄÀÏÀÌ ¾ø´Ù¸é ¿î¿µÃ¼Á¦´Â ºó ¹®ÀÚ¿À» ¹ÝȯÇÒ °ÍÀÌ´Ù. ¿©·¯ºÐÀº ±×·¯¸é ±× À̸§ÀÌ ºó ¹®ÀÚ¿ÀÎÁö¸¦ Á¡°ËÇØ º¼¼ö ÀÖÀ¸¸ç ±× °á°ú¸¦ ºÒ¸®¾ð °ª( ºó¹®ÀÚ¿À̸é Âü)À¸·Î ÀúÀåÇÒ ¼ö ÀÖ´Ù. ¿©·¯ºÐÀº ¾î¶»°Ô ¿ì¸®°¡ ±× °á°ú¸¦ »ç¿ëÇÏ´ÂÁö ÀÌ °ÁÂÀÇ ÈĹݺο¡¼ º¸°Ô µÉ °ÍÀÌ´Ù.
¿¬»êÀÚ ¿¹Á¦ | ¼³ ¸í | °á °ú |
---|---|---|
A and B | ±×¸®°í | A,B µÑ´Ù ÂüÀ̸é Âü, ±×·¸Áö ¾ÊÀ¸¸é °ÅÁþ. |
A or B | ¶Ç´Â | A,B µÑ Áß Çϳª¸¸ ÂüÀ̸é Âü. A ¿Í B ¸ðµÎ °ÅÁþÀÌ¸é °ÅÁþ. |
A == B | µ¿µî | A °¡ B ¿Í °°À¸¸é Âü. |
A != B ¶Ç´Â A <> B | °°Áö ¾ÊÀ½ | A °¡ B ¿Í °°Áö ¾ÊÀ¸¸é Âü. |
not B | ºÎÁ¤ | B Â÷ ÂüÀÌ ¾Æ´Ï¸é Âü |
ÁÖ ÀÇ: °¡Àå ¸¶Áö¸·ÀÇ ¿¹Á¦´Â ÇѰ³ÀÇ °ªÀ» ´Ù·ç¸ç, ´Ù¸¥ °Íµé ¸ðµÎ´Â µÎ °³ÀÇ °ªÀ» ºñ±³ÇÑ´Ù.
ÄÄÇ»ÅÍ °úÇÐÀº ÁýÇÕ°ú ±× °ÍÀÇ ´Ù¾çÇÑ ÇàŵéÀ» ¿¬±¸Çϴµ¥¿¡ ¸ôµÎÇØ ¿Ô´Ù. ¶§·Î´Â ÁýÇÕÀº ±×¸©À̶ó°íµµ ºÒ¸®¿î´Ù. ÀÌ ¼½¼Ç¿¡¼ ¿ì¸®´Â ¸ÕÀú ÆÄÀ̽㿡¼ Áö¿øµÇ´Â ÁýÇÕÇüµéÀ» »ìÆìº¸°í ¿©·¯ºÐÀÌ ´Ù¸¥ ¾ð¾î¿¡¼ ¸¶ÁÖÄ¡°Ô µÉ ´Ù¸¥ Á¾·ùÀÇ ÁýÇÕÇü¿¡ ´ëÇÑ ÂªÀº ¿ä¾àÀ¸·Î °á·ÐÀ» ³»·ÁÇÑ´Ù.
¸®½ºÆ®´Â Ç׸ñÀÇ ¿¬¼ÓÀÌ´Ù. ¹è¿°ú ´Ù¸¥ Á¡Àº ±×°ÍÀÌ Ä¿Áú¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù - ¿©·¯ºÐÀÌ ¶Ç ´Ù¸¥ Ç׸ñÀ» Ãß°¡Çϱ⸸ ÇÏ¸é µÈ´Ù. ±×·¯³ª ÀϹÝÀûÀ¸·Î ÁöÇ¥È µÇ¾î ÀÖÁö ¾Ê¾Æ¼ ¿©·¯ºÐÀº ÇÊ¿ä·Î ÇÏ´Â Ç׸ñÀ» ±× ¸®½ºÆ®¸¦ óÀ½ºÎÅÍ ¸¶Áö¸·±îÁö ¹æ¹®Çؼ °¢°¢ÀÇ Ç׸ñÀÌ ¿©·¯ºÐÀÌ ¿øÇÏ´ø Ç׸ñÀÎÁö Á¡°ËÀ» ÇÔÀ¸·Î½á ã¾Æ¾ß¸¸ ÇÑ´Ù. ÆÄÀ̽ãÀ̳ª Tcl¸ðµÎ ¸®½ºÆ®¸¦ ³»ÀåÇϰí ÀÖ´Ù. º£ÀÌÁ÷¿¡¼´Â ´õ ¾î·Á¿ö¼ ¿ì¸®´Â ¸®½ºÆ®¸¦ Èä³»³»±â À§ÇØ ¾à°£ ²Ä¼öÀûÀÎ ÇÁ·Î±×·¡¹ÖÀ» ÇØ¾ß¸¸ ÇÑ´Ù. ±× ´ë½Å¿¡ º£ÀÌÁ÷ ÇÁ·Î±×·¡¸ÓµéÀº º¸Åë ´ë´ÜÈ÷ Ä¿´Ù¶õ ¹è¿À» ¸¸µé¾î »ç¿ëÇÑ´Ù. ÆÄÀ̽㠶ÇÇÑ ¿©·¯ºÐÀÌ ¸®½ºÆ®¸¦ ÁöÇ¥È ÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ¿ì¸®°¡ ¾ÕÀ¸·Î º¸°Ô µÇ°ÚÁö¸¸ À̰ÍÀº ´ë´ÜÈ÷ À¯¿ëÇÑ ¾ð¾î »ç¾çÀÌ´Ù.
ÆÄÀ̽ãÀº ÁýÇÕÇü¿¡ °üÇÏ¿© ¸¹Àº 󸮹æ¹ýµéÀ» Á¦°øÇØÁØ´Ù. °ÅÀÇ ±×µé ¸ðµÎ ´Ù ¸®½ºÆ®¿¡ Àû¿ëµÇ¸ç ÇϺμ¼Æ®µµ ´ÜÁö ¹®ÀÚµéÀÇ Æ¯º°ÇÑ ÇüÅÂÀÇ ¸®½ºÆ®ÀÏ »ÓÀÎ ¹®ÀÚ¿À» Æ÷ÇÔÇÏ¿©, ´Ù¸¥ ÁýÇÕÇü¿¡ Àû¿ëµÈ´Ù. ÆÄÀ̽㿡¼ ¸®½ºÆ®¸¦ »ý¼ºÇϰí Á¢±ÙÇϱâ À§Çؼ ¿ì¸®´Â °¢°ýÈ£¸¦ »ç¿ëÇÑ´Ù. ¿©·¯ºÐÀº °¢°ýÈ£ ÇѽÖÀ» ¾Æ¹«°Íµµ ¾È¿¡ ³ÖÁö ¾Ê°í »ç¿ëÇÔÀ¸·Î½á ºó ¸®½ºÆ®¸¦ ¸¸µé ¼ö ÀÖÀ¸¸ç, ¶Ç´Â °¢°ýÈ£ ¾È¿¡ ÀÖ´Â °ªµéÀ» Äĸ¶·Î ºÐ¸®ÇÔÀ¸·Î½á ³»¿ëÀÖ´Â ¸®½ºÆ®¸¦ ¸¸µé ¼öµµ ÀÖ´Ù:
>>> aList = [] >>> another = [1,2,3] >>> print another [1, 2, 3]
¿ì¸®´Â ÁöÇ¥ ¼ýÀÚ¸¦ »ç¿ëÇÏ¿© °³º°ÀûÀÎ ¿ä¼Ò¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. ù¹øÂ° ¿ä¼ÒÀÇ À§Ä¡´Â 0À̰í, °¢°ýÈ£ ¾È¿¡´Ù°¡ »ç¿ëÇÑ´Ù:
>>> print another[2] 3
¿ì¸®´Â ¶ÇÇÑ ¸®½ºÆ®ÀÇ ¿ä¼ÒµéÀÇ °ªÀ» ºñ½ºÇÑ ¹æ½ÄÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù:
>>> another[2] = 7 >>> print another [1, 2, 7]
¿©·¯ºÐÀº À½¼ö¸¦ ÁöÇ¥¼ýÀÚ·Î »ç¿ëÇÏ¿© ¸®½ºÆ®ÀÇ ¸¶Áö¸·À¸·Î ºÎÅÍÀÇ ±¸¼º¿ø¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. -1À» »ç¿ëÇÏ¿© °¡Àå ¸¶Áö¸· Ç׸ñÀ» ¾ò´Â°ÍÀº ´ë´ÜÈ÷ ÈçÇÑ ÀÏÀÌ´Ù:
>>> print another[-1] 7
¿ì¸®´Â ¶ÇÇÑ »õ·Î¿î ¿ä¼Ò¸¦ ¸®½ºÆ®¿¡ ³¡¿¡´Ù°¡ append()¿¬»êÀÚ(¸Þ½îµå)¸¦ »ç¿ëÇÏ¿© Ãß°¡ÇÒ ¼ö ÀÖ´Ù:
>>> aList.append(42) >>> print aList [42]
½ÉÁö¾î´Â ¸®½ºÆ®¾È¿¡ ¶Ç ´Ù¸¥ ¸®½ºÆ®¸¦ °¡Áú ¼öµµ ÀÖ´Ù, ±×·±½ÄÀ¸·Î ¿ì¸®°¡ µÎ¹øÂ° ¸®½ºÆ®¸¦ ù ¹øÂ° ¸®½ºÆ®¿¡ Ãß°¡ÇϰíÀÚ ÇÑ´Ù¸é:
>>> aList.append(another) >>> print aList [42, [1, 2, 7]]
°á°ú°¡ µÎ°³ÀÇ ¿ä¼Ò¸¦ °¡Áø ¸®½ºÆ®ÀÌÁö¸¸ µÎ ¹øÂ° ¿ä¼Ò´Â (°¢°ýÈ£[ ]·Î µÑ·¯½Î¿© º¸ÀÌ´Â °Í°°ÀÌ)±× ÀÚü·Î ¸®½ºÆ®¶ó´Â °ÍÀ» ÁÖ¸ñÇ϶ó. À̰ÍÀº À¯¿ëÇÏ´Ù ¿Ö³ÄÇÏ¸é ±×°ÍÀ¸·Î ¿ì¸®´Â ¸®½ºÆ®ÀÇ ¸®½ºÆ®¸¦ »ç¿ëÇÏ´Â °ÝÀÚ³ª ȤÀº Ç¥¸¦ ±¸ÇöÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ¿ì¸®´Â ±×·¯¸é µÎ°³ÀÇ ÁöÇ¥¸¦ »ç¿ëÇÏ¿© ¿ä¼Ò 7 ¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.:
>>> print aList[1][2] 7
ù¹øÂ° ÁöÇ¥, 1Àº µÎ¹øÂ° ¿ä¼Ò¸¦ ÃßÃâÇÏ°í ±× ¿ä¼Ò´Â À̹ø¿¡´Â ¸®½ºÆ®ÀÌ´Ù. µÎ¹øÂ° ÁöÇ¥, 2´Â ÇϺθ®½ºÆ®ÀÇ ¼¼¹øÂ°ÀÇ ¿ä¼Ò¸¦ ÃßÃâÇÑ´Ù.
¿ä¼Ò¸¦ Ãß°¡ÇÏ´Â °ÍÀÇ ¹Ý´ë´Â, ¹°·Ð, ±×°ÍµéÀ» Á¦°ÅÇÏ´Â °ÍÀÌ¸ç ±×·¯±â À§Çؼ ¿ì¸®´Â del¸í·É¾î¸¦ »ç¿ëÇÑ´Ù:
>>> del aList[1] >>> print aList [42]
¸¸¾à ¿ì¸®°¡ µÎ °³ÀÇ ¸®½ºÆ®¸¦ Çϳª·Î °áÇÕÇϱ⸦ ¿øÇÑ´Ù¸é ¿ì¸®´Â ¹®ÀÚ¿¿¡¼ º¸¾Ò´ø ¶È °°Àº '+' ¿¬°á ¿¬»êÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù:
>>> newList = aList + another >>> print newList [42, [1, 2, 7], 1, 2, 7]
°°Àº ¹æ½ÄÀ¸·Î ¿ì¸®´Â ¹Ýº¹¿¬»êÀÚ¸¦ Àû¿ëÇÏ¿© ¸®½ºÆ®¸¦ °°Àº °ªÀ¸·Î ä¿ï ¼ö ÀÖ´Ù:
>>> zeroList = [0] * 5 >>> print zeroList [0, 0, 0, 0, 0]
¸¶Áö¸·À¸·Î, ¿ì¸®´Â len() ³»ÀåÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¸®½ºÆ®ÀÇ ±æÀ̸¦ °áÁ¤ÇÒ ¼ö ÀÖ´Ù:
>>> print len(aList) 2 >>> print len(zeroList) 5
Tcl ¶ÇÇÑ ¸®½ºÆ®ÇüÀ» ³»ÀåÇϰí ÀÖÀ¸¸ç ÀÌ·¯ÇÑ ¸®½ºÆ®¸¦ ´Ù·ç´Â ´Ù¾çÇÑ ¸í·É¾î¸¦ °¡Áö°í ÀÖ´Ù. ÀÌ·¯ÇÑ ¸í·É¾îµéÀº 'l' Á¢µÎ»ç¿¡ ÀÇÇØ ½Äº°µÈ´Ù, ¿¹¸¦ µé¾î linsert,lappend, lindex,µîµî. °£´ÜÇÑ Tcl¸®½ºÆ®¸¦ »ý¼ºÇÏ°í ±¸¼º¿ø¿¡ Á¢±ÙÇϴ¿¹Á¦´Â ´ÙÀ½°ú °°´Ù:
% set L [list 1 2 3] % put [lindex $L 2] 3
¸ðµç ¾ð¾î°¡ ÅÍÇà ±¸Á¶¸¦ Á¦°øÇÏ´Â °ÍÀº ¾Æ´ÏÁö¸¸ ±×°ÍÀ» Á¦°øÇÏ´Â ¾ð¾î¿¡¼ ÅÍÇà ±¸Á¶´Â ´ë´ÜÈ÷ À¯¿ëÇÏ´Ù. ÅÍÇÃÀº ½ÇÁ¦·Î´Â ÇϳªÀÇ ´ÜÀ§·Î Ãë±ÞµÉ ¼ö ÀÖ´Â °ªµéÀÇ ÀÓÀÇÀûÀÎ ÁýÇÕÀÏ »ÓÀÌ´Ù. ¿©·¯¸éÀ¸·Î ÅÍÇÃÀº ¸®½ºÆ®¿Í ´à¾Ò´Ù. ±×·¯³ª Çö°ÝÇÑ Â÷ÀÌÁ¡Àº ÅÍÇÃÀº ±³È¯ºÒ°¡´ÉimmutableÀ̶ó´Â °ÍÀÌ´Ù. ´Ù½Ã¸»ÇÏ¸é ¿©·¯ºÐÀÌ ÅÍÇÃÀ» º¯°æÇÒ ¼ö ¾øÀ¸¸ç Çѹø »ý¼ºµÇ°í ³ª¸é ¿ä¼Ò¸¦ Ãß°¡Çϰųª ÇÒ¼ö ¾ø´Ù´Â ¶æÀÌ´Ù. ÆÄÀ̽㿡¼, ÅÍÇÃÀº °ýÈ£·Î °£´ÜÇÏ°Ô Ç¥½ÃµÈ´Ù. °ýÈ£¾È¿¡´Â Äĸ¶·Î °ªµéÀÇ ¸®½ºÆ®¸¦ ºÐ¸®ÇÏ´Â µ¥, ´ÙÀ½°ú °°´Ù:
>>> aTuple = (1,3,5) >>> print aTuple[1] # use indexing like a list 3 >> aTuple[2] = 7 # error, can’t change a tuple’s elements Traceback (innermost last): File "", line 1, in ? aTuple[2] = 7 TypeError: object doesn't support item assignment
±â¾ïÇØ¾ßÇÒ °¡Àå Áß¿äÇÑ °ÍÀº ÅÍÇÃÀ» Á¤ÀÇÇϱâ À§ÇÏ¿© °ýÈ£°¡ »ç¿ëµÇ´Â ¹Ý¸é¿¡, ÁöÇ¥ÈÇϴµ¥¿¡´Â °¢°ýÈ£°¡ »ç¿ëµÇ¸ç ¿©·¯ºÐÀº ÅÍÇÃÀ» Çѹø ¸¸µé¾îÁö°í ³ª¸é º¯°æÇÒ ¼ö ¾ø´Ù´Â °ÍÀÌ´Ù. ±×°Í¸¸ »©°í´Â ´ëºÎºÐÀÇ ¸®½ºÆ® 󸮹æ¹ýµéÀÌ ¶ÇÇÑ ÅÍÇÿ¡µµ Àû¿ëµÈ´Ù.
»çÀüÀº À̸§¿¡¼ ´À²¸Áö´Â ¹Ù¿Í °°ÀÌ Å°¿Í ¿¬°üµÈ °ªÀ» Æ÷ÇÔÇÑ´Ù, °°Àº ¹æ½ÄÀ¸·Î ¹®ÀÚÀûÀÎ »çÀüµµ ÀÇ¹Ì¿Í ´Ü¾î¸¦ ¿¬°ü½ÃŲ´Ù. ±× °ªÀº »çÀüÀ» Ű·Î ÁöÇ¥È ÇÔÀ¸·Î½á °Ë»öµÉ ¼ö ÀÖ´Ù. ¹®ÀÚÀûÀÎ »çÀü°ú ´Ù¸¥ Á¡Àº ۰¡ (ÀÚÁÖ ±×·¸°Ô »ç¿ëµÊ¿¡µµ ºÒ±¸Çϰí) ¹Ýµå½Ã ¹®ÀÚ¿À̾î¾ß ÇÒ Çʿ䰡 ¾øÀ¸³ª ÅÍÇðú ¼ýÀÚ¸¦ Æ÷ÇÔÇÏ¿© ¾î¶°ÇÑ ÇüÅÂÀÇ º¯°æºÒ°¡ Çüµµ °¡´ÉÇÏ´Ù. ºñ½ÁÇÏ°Ô Å°¿Í ¿¬°üµÈ °ªµéÀº ¾î¶°ÇÑ Á¾·ùÀÇ ÆÄÀ̽㠵¥ÀÌŸÇüµµ °¡´ÉÇÏ´Ù. ¼ÀüÀº º¸Åë ³»ºÎÀûÀ¸·Î ÇØ½¬Å×À̺íÀ̶ó°í ¾Ë·ÁÁ® ÀÖ´Â Áøº¸µÈ ÇÁ·Î±×·¡¹Ö ±â¼úÀ» »ç¿ëÇÏ¿© ±¸ÇöµÈ´Ù. ±×·¯ÇÑ ÀÌÀ¯·Î »çÀüÀº ¶§·Î´Â ÇØ½¬¶ó°íµµ ºÒ¸®¿î´Ù. (ÇØ½¬¶ó´Â) ¸¶¾à°ú´Â ÀüÇô »ó°ü ¾ø´Ù!
»çÀüÀÇ °ª¿¡ Á¢±ÙÇÏ·Á¸é ۸¦ ÅëÇØ¾ß Çϱ⠶§¹®¿¡ ¿©·¯ºÐÀº À¯ÀÏÇÑ Å°·Î ¿ä¼Ò¸¦ Áý¾î ³ÖÀ» ¼ö¸¸ ÀÖ´Ù. »çÀüÀº ´ë´ÜÈ÷ À¯¿ëÇÑ ±¸Á¶ÀÌ¸ç ÆÄÀ̽㿡¼´Â ³»ÀåÇüÀ¸·Î Á¦°øµÈ´Ù. ±×·¸Áö¸¸ ¿©·¯ ´Ù¸¥ ¾ð¾î¿¡¼´Â ¿©·¯ºÐÀº ¸ðµâÀ» »ç¿ëÇÏ´ø°¡ ȤÀº ½ÉÁö¾î Á÷Á¢ ¸¸µé¾î ½á¾ß¸¸ ÇÑ´Ù. ¿ì¸®´Â »çÀüÀ» ¿©·¯°¡Áö ¹æ¹ýÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ¿ì¸®´Â ÈÄ¿¡ dzºÎÇÑ ¿¹Á¦µéÀ» º¸°Ô µÉ °ÍÀÌ´Ù. ±×·¯³ª Áö±Ý ¿©±â¿¡, ÆÄÀ̽㿡¼ ¾î¶»°Ô »çÀüÀ» ¸¸µå´ÂÁö¸¦ º¸À̸é, ¿ä¼Òµé·Î »çÀüÀ» ä¿ì°í ±×°ÍµéÀ» ´Ù½Ã Àо¶ó:
>>> dict = {} >>> dict['boolean'] = "A value which is either true or false" >>> dict['integer'] = "A whole number" >>> print dict['boolean'] A value which is either true or false
¿ì¸®°¡ »çÀüÀ» Ȱ°ýÈ£·Î ÃʱâÈÇϰí, ±×¸®°í´Â °¢°ýÈ£¸¦ »ç¿ëÇÏ¿© °ªµéÀ» ÇÒ´çÇϰí ÀоúÀ½À» ÁÖ¸ñÇ϶ó.
»çÀüÀÇ ³»ºÎÀûÀÎ ±¸Á¶ ¹®Á¦·Î ÀÎÇÏ¿© »çÀüÀº ¿ì¸®°¡ Áö±Ý±îÁö º¸¾Æ¿Â ¸¹Àº ÁýÇÕÇü ¿¬»êÀÚµéÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. ¿¬°á, ¹Ýº¹ ¶Ç´Â Ãß°¡ ¿¬»êµîÀº ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. ¿ì¸®°¡ »çÀüÀÇ Å°¿¡ Á¢±ÙÇϵµ·Ï µµ¿ÍÁÖ´Â keys()ÇÔ¼ö¸¦ ¿ì¸®´Â »ç¿ëÇÒ ¼ö Àִµ¥ ±× ÇÔ¼ö´Â »çÀü¿¡ Àִ ŰµéÀÇ ¸®½ºÆ®¸¦ ¹ÝÈ¯ÇØÁØ´Ù.
¿©·¯ºÐÀÌ ¾à°£ Áö°ã´Ù¸é, ¿©±â¿¡¼ ¿©·¯ºÐÀº ´ÙÀ½ Àå À¸·Î Á¡ÇÁÇÒ ¼ö ÀÖ´Ù. ¿ì¸®°¡ Áö±Ý±îÁö ¾ð±ÞÇÏÁö ¾ÊÀº µ¥ÀÌŸÇü°ú ¸¶ÁÖÄ¡±â ½ÃÀÛÇÒ ¶§ ¹Ýµå½Ã µ¹¾Æ¿Í ÀÌ ÀåÀ» ³¡³»¾ß¸¸ ÇÑ´Ù´Â °ÍÀ» ±â¾ïÇ϶ó.
ÁöÇ¥È µÇ¾î ½±°í ºü¸£°Ô °Ë»ö°¡´ÉÇÑ Ç׸ñµéÀÇ ¸®½ºÆ®.
º¸Åë ¿©·¯ºÐÀº ¾ó¸¶³ª ¸¹Àº Ç׸ñÀ» ÀúÀåÇϱ⸦ ¿øÇÏ´ÂÁö ¸ÕÀú ¸»ÇØ ÁÖ¾î¾ß¸¸ ÇÑ´Ù.
³»°¡ A¶ó°í ºÎ¸£´Â ¹è¿À» °¡Áö°í ÀÖ´Ù°í ÇÏÀÚ, ±×·¯¸é ³ª´Â ¼¼¹øÂ° Ç׸ñÀ» A¿¡ A[3]À̶ó°í ¾¸À¸·Î½á ÃßÃâÇÒ ¼ö ÀÖ´Ù. ¹è¿Àº º£ÀÌÁ÷¿¡¼ ±âº»ÀûÀÌ´Ù, »ç½Ç ÁýÇÕÇüÀ¸·Î´Â À¯ÀÏÇϰÔonly ³»ÀåµÇ¾ú´Ù. ÆÄÀ̽㿡¼ ¹è¿Àº ¸®½ºÆ®¸¦ »ç¿ëÇÏ¿© Èä³»³»¾îÁö¸ç Tcl¿¡¼´Â »çÀüÀ» »ç¿ëÇÏ¿© ±¸ÇöµÈ´Ù.
º£ÀÌÁ÷¿¡¼ ¹è¿ÀÇ »ç¿ë¿¹´Â ¾Æ·¡¿Í °°´Ù:
DIM Myarray(20) REM Create a 20 element array
MyArray(1) = 27
MyArray(2) = 50
FOR i =1 TO 5
PRINT MyArray(i)
NEXT i
º£ÀÌÁ÷¿¡¼´Â ÁöÇ¥°¡ 1¿¡¼ ½ÃÀÛµÊÀ» ÁÖ¸ñÇ϶ó, À̰ÍÀº ƯÀÌÇÑ °ÍÀÌ¸ç ´ëºÎºÐÀÇ ¾ð¾î¿¡¼´Â ÁöÇ¥°¡ 0¿¡¼ ½ÃÀÛÇÑ´Ù. ¹è¿¿¡ ´ëÇÑ ´Ù¸¥ 󸮹æ¹ýÀº ¾ø´Ù, ¿©·¯ºÐÀÌ ÇÒ ¼ö ÀÖ´Â °ÍÀº ±×°ÍÀ» »ý¼ºÇϰí, °ªÀ» ÇÒ´çÇϰí ÀÐ´Â°Í »ÓÀÌ´Ù.
·¹½ºÅä¶û¿¡¼ Á¢½ÃµéÀÌ ½×¿©ÀÖ´Â °ÍÀ» »ý°¢ÇØ º¸¶ó. °¡°Ô Á¡¿ø Çϳª°¡ ÀÏ´ÜÀÇ ±ú²ýÇÑ Á¢½ÃµéÀ» ²À´ë±â¿¡ ³õ´Â´Ù. À̰͵éÀº Çϳª¾¿ ¼Õ´Ôµé¿¡ ÀÇÇØ¼ Á¦°ÅµÈ´Ù. ½ºÅà °¡Àå ¾Æ·¡¿¡ ÀÖ´Â Á¢½Ã°¡ °¡Àå ³ªÁß¿¡ »ç¿ëµÈ´Ù.(±×¸®°í ±×°Í¹Û¿¡ ¾øÀ¸´Ï±î!) µ¥ÀÌŸ ½ºÅÃÀº ¶È °°Àº ¹æ½ÄÀ¸·Î ÀÛµ¿ÇÑ´Ù:
¿©·¯ºÐÀº ÇϳªÀÇ Ç׸ñÀ» ½ºÅÃÀ¸·Î ³Ö°Å³ª Çϳª¸¦ ²¨³½´Ù. ²¨³»¾îÁø Ç׸ñÀº Ç×»ó °¡Àå ¸¶Áö¸·¿¡ ³Ö¾îÁø °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ½ºÅÃÀÇ ¼Ó¼ºÀ» ÀÏÄþî ÈÄÀÔ¼±ÃâLast In First Out ȤÀº ¸®Æ÷ LIFO¶ó°í ºÎ¸¥´Ù.
½ºÅÃÀÇ À¯¿ëÇÑ ¼Ó¼®Áß Çϳª´Â ¸®½ºÆ®¸¦ ½ºÅþȿ¡ Áý¾î ³Ö°í ´Ù½Ã ¹ÛÀ¸·Î ²¨³¿À¸·Î½á ¿©·¯ºÐÀÌ Ç׸ñÀÇ ¸®½ºÆ®¸¦ µÚÁýÀ» ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. °á°ú´Â óÀ½ ¸®½ºÆ®ÀÇ ¹Ý´ë°¡ µÉ °ÍÀÌ´Ù.
½ºÅÃÀº ÆÄÀ̽ã, Tcl ȤÀº BASIC ¿¡ ³»ÀåµÇÁö ¾Ê¾Ò´Ù. ¿©·¯ºÐÀº ±×·± ÇàÀ§¸¦ ±¸ÇöÇÏ·Á¸é ¾à°£ÀÇ ÇÁ·Î±×·¥Äڵ带 ÀÛ¼ºÇØ¾ß ÇÑ´Ù. ¸®½ºÆ®°¡ º¸Åë °¡Àå ÁÁÀº Ãâ¹ßÁ¡Àε¥ ¿Ö³ÄÇÏ¸é ½ºÅðú ¸¶Âù°¡Áö·Î ±×µéµµ ÇÊ¿äÇÒ¶§ ´Ã¾î³¯ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
¹éÀº ¾î¶² ƯÁ¤ÇÑ ¼ø¼¸¦ °¡ÁöÁö ¾Ê´Â Ç׸ñµéÀÇ ÁýÇÕÀÌ´Ù. ±×¸®°í ±×°ÍÀº Áߺ¹µµ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. ¹éÀº º¸Åë ¿©·¯ºÐÀÌ Ç׸ñµéÀ» ã°í Á¦°ÅÇÏ°í ´õÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¿¬»êÀÚ¸¦ °¡Áø´Ù. ÆÄÀ̽ã°ú ƼŬ¿¡¼ ¹éÀº ´Ü¼øÈ÷ ¸®½ºÆ®ÀÌ´Ù. º£ÀÌÁ÷¿¡¼´Â ¿©·¯ºÐÀº °Å´ëÇÑ ¹è¿·Î¼ ¹éÀ» ±¸ÇöÇØ¾ß ÇÑ´Ù.
¼¼Æ®´Â °¢ Ç׸ñ¿¡ ÇѰ³ÀÇ °ª¸¸À» ÀúÀåÇϴ Ư¼ºÀ» Áö´Ñ´Ù. ¿©·¯ºÐÀº º¸Åë Ç׸ñÀÌ ¼¼Æ®¿¡ (ȸ¿øÀ¸·Î¼) Á¸ÀçÇÏ´ÂÁö Á¡°ËÇØ º¼¼ö ÀÖ´Ù. Ç׸ñÀ» ´õÇϰí, Á¦°ÅÇϰí, °Ë»öÇ϶ó. µÎ °³ÀÇ ¼¼Æ®¸¦ ¿©·¯°¡Áö ¹æ½ÄÀ¸·Î ¼öÇп¡¼ÀÇ ÁýÇÕÀÌ·Ð(¿¹¸¦ µé¾î °ö, ÇÕ µîµî)¿¡ ´ëÀÀÇÏ¿© °áÇÕ½ÃÄѶó. ¿ì¸®ÀÇ ¿¹Á¦ ¾ð¾îµé Áß ¾î¶² °Íµµ ¼¼Æ®¸¦ Á÷Á¢ÀûÀ¸·Î ±¸ÇöÇÏÁö´Â ¾Ê¾ÒÁö¸¸, ÆÄÀ̽ã°ú ƼŬ¿¡¼´Â ³»ÀåµÈ »çÀüÇüÀ» »ç¿ëÇÏ¿© ½±°Ô ±¸ÇöµÉ ¼ö ÀÖ´Ù.
Å¥´Â ½ºÅðú ºñ½ÁÇÏÁö¸¸ Å¥¿¡ ¸ÕÀú µé¾î°£ Ç׸ñÀÌ ¶ÇÇÑ Ã³À½À¸·Î ³ª¿Â´Ù´Â Á¡ÀÌ ´Ù¸£´Ù. À̰ÍÀº ¼±ÀÔ¼±Ãâ First In First Out ȤÀº ÇÇÆ÷ FIFOÇàÅ·Π¾Ë·ÁÁ® ÀÖ´Ù.
´Ù¸¥ ÁýÇÕÇüµµ ¾ó¸¶µçÁö ÀÖÁö¸¸, À̰͵éÀÌ ¿©·¯ºÐÀÌ ¸¶ÁÖÄ¡°Ô µÉ Áß¿äÇÑ °ÍµéÀÌ´Ù. (»ç½Ç ¿ì¸®´Â ÀÌ À¥Æ©ÅÍ¿¡¼ ÀÌ·¯ÇÑ °Íµé Áß ¾à°£¸¸À» ´Ù·ç°Ô µÉ °ÍÀÌ´Ù!)
ÄÄÇ»ÅÍ »ç¿ëÀڷμ ¿©·¯ºÐÀº ÆÄÀÏ¿¡ °üÇÑ ¸ðµç °ÍÀ» ¾È´Ù - ÄÄÇ»ÅÍ·Î ¿ì¸®°¡ ´Ù·ç´Â °ÍµéÀÇ °ÅÀÇ ±âº»Åä´ëÀÌ´Ù. ±×·¸´Ù¸é, ´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ µ¥ÀÌŸÀÇ Æ¯º°ÇÑ ÆÄÀÏfileÇüÀ» Á¦°øÇÑ´Ù°í ÇØ¼ ÀüÇô ³î¶öÀÏÀÌ ¾Æ´Ï´Ù. ±×·¸Áö¸¸ ÆÄÀϰú ±×°ÍµéÀ» ó¸®ÇÏ´Â ¹æ¹ýÀº ³Ê¹«³ª Áß¿äÇØ¼ ³ª´Â ±×°Íµé¿¡ ´ëÇÏ¿© ³íÀÇ ÇÏ´Â °ÍÀ» µ¶¸³ÀûÀÎ ÀåÀ¸·Î ´Ù·ç°Ô µÉ ¶§±îÁö ÀÌÈÄ·Î ¿¬±âÇÏ·Á°í ÇÑ´Ù.
³¯Â¥¿Í ½Ã°£Àº ÇÁ·Î±×·¡¹Ö¿¡¼ ¶§¶§·Î Ưº°È÷ ºÀÇåµÈ ÇüÅ·ΠÁÖ¾îÁø´Ù. ´Ù¸¥ ¶§¿¡´Â ±×°ÍµéÀº ´Ü¼øÈ÷ Ä¿´Ù¶õ ¼ýÀÚ·Î (ÀüÇüÀûÀ¸·Î ÀÓÀÇÀÇ ³¯Â¥/½Ã°£À» ÃÊ´ÜÀ§·Î) ³ªÅ¸³»¾îÁø´Ù. ´Ù¸¥ °æ¿ì¿¡´Â ³¯Â¥ÇüÀº ´ÙÀ½¼½¼Ç¿¡¼ ¼³¸íµÇ´Â ¹Ù¿Í °°ÀÌ º¹ÇÕÇüÀ¸·Î ¾Ë·ÁÁ® ÀÖ´Ù. À̰ÍÀº º¸Åë ¿ù, ÀÏ, ½Ã°£ µîÀ» ÃßÃâÇϱ⠽±°Ô ÇØÁØ´Ù.
¾î¶² ¶§¿¡´Â À§¿¡ ±â¼úÇÑ ±âº»ÀûÀÎ ÇüµéÀÌ ÁýÇÕÇüÀ¸·Î °áÇյǾúÀ» ¶§Á¶Â÷µµ ºÎÀû´çÇÏ´Ù. ¶§·Î ¿ì¸®´Â ¾à°£ÀÇ µ¥ÀÌŸ Á¶°¢µéÀ» ±×·ìÁö¾î¼ ±×°ÍÀ» ÇϳªÀÇ Ç׸ñÀ¸·Î ´Ù·ç±â¸¦ ¿øÇÑ´Ù. ÁÖ¼Ò¸¦ ±â¼úÇÏ´Â °ÍÀÌ Àû´çÇÑ ¿¹Á¦°¡ µÉ ¼ö ÀÖ°Ú´Ù:
Áö¹ø, µµ·Î¹øÈ£¿Í µµ½Ã. ¸¶Áö¸·À¸·Î ¿ìÆí¹øÈ£.
´ëºÎºÐÀÇ ¾ð¾î¿¡¼ ¿©·¯ºÐÀº ±×·¯ÇÑ Á¤º¸¸¦ ·¹ÄÚµårecord ȤÀº ±¸Á¶ structureÀÇ ÇüÅ·ΠÇϳª·Î ±×·ìÁöÀ»¼ö ÀÖ´Ù.
º£ÀÌÁ÷¿¡¼ ±×·¯ÇÑ ·¹ÄÚµå Á¤ÀÇ´Â ´ÙÀ½°ú °°´Ù:
Type Address HsNumber AS INTEGER Street AS STRING * 20 Town AS STRING * 15 ZipCode AS STRING * 7 End Type
STRINGµÚÀÇ ¼ýÀÚ´Â ´Ü¼øÈ÷ ±× ¹®ÀÚ¿ÀÇ ÃÖ´ë ±æÀÌÀÌ´Ù.
ÆÄÀ̽㿡¼ ±×°ÍÀº ¾à°£ ´Ù¸£´Ù:
>>>class Address: ... def __init__(self, Hs, St, Town, Zip): ... self.HsNumber = Hs ... self.Street = St ... self.Town = Town ... self.ZipCode = Zip ...
À̰ÍÀº ¾à°£ ¹¦ÇÏ°Ô º¸À̰ÚÁö¸¸ ±×·¯³ª °ÆÁ¤ÇÏÁö ¸¶¶ó. def __init__(...) ±×¸®°í selfÀÌ ¹«¾ùÀ» ÀǹÌÇÏ´ÂÁö´Â °´Ã¼ÁöÇâ¿¡ °üÇÑ ¼½¼Ç¿¡¼ ¼³¸íÇϰڴÙ. ¾î¶² À̵éÀº ÀÌ·¯ÇÑ ¿¹Á¦¸¦ ÆÄÀ̽ãÀÇ ÇÁ·ÒÇÁÆ®¿¡¼ ŸÀÌÇÁÇϴµ¥ ¹®Á¦°¡ ÀÖÀ»¼ö ÀÖ´Ù. ÀÌ ÀåÀÇ ¸¶Áö¸·¿¡ ¿©·¯ºÐÀº ´õ¿í ¼³¸íÀÌ ÀßµÈ ¹Ú½º¸¦ º¸°Ô µÉ °ÍÀÌ´Ù, ±×·¯³ª ¿©·¯ºÐÀº ´ÜÁö ±â´Ù·Á¼ ¿øÇÑ´Ù¸é ÀÌ °Á¿¡¼ ÀÌÈÄ¿¡ ÀüüÀûÀÎ À̾߱⸦ µè°Ô µÉ °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ ÆÄÀ̽㿡 À̰ÍÀ» ŸÀÌÇÁÇØ ³ÖÀ¸·Á°í ÇÑ´Ù¸é ¿©·¯ºÐÀÌ µé¿©¾²±â¸¦ º¸¿©Áö´Â ¹Ù¿Í °°ÀÌ º¹»çÇß´ÂÁö¸¦ È®ÀÎÇ϶ó. ¿©·¯ºÐÀÌ ³ªÁß¿¡ º¸°Ô µÇµíÀÌ ÆÄÀ̽ãÀº µé¿©¾²±â ¼öÁØ¿¡ ´ëÇÏ¿© ´ë´ÜÈ÷ ¹Î°¨ÇÏ´Ù.
³»°¡ ¿©·¯ºÐÀÌ ÀÌ ¸ðµç °Íµé¿¡¼ ÀÎÁöÇϱ⸦ ¿øÇÏ´Â °¡Àå Áß¿äÇÑ °ÍÀº ¿ì¸®°¡ ¸î°³ÀÇ Á¶°¢ÀÇ µ¥ÀÌŸ¸¦ ÇϳªÀÇ ±¸Á¶·Î ¸ð¾Ò´Ù´Â °ÍÀÌ´Ù.
¿ì¸®´Â º¹ÇÕµ¥ÀÌŸÇüÀ» º¯¼ö¿¡ ¿ª½Ã ÇÒ´çÇÒ ¼ö ÀÖ´Ù, ±×·¯³ª ±× ÇüÀÇ °³º°ÀûÀÎ Çʵå fields¿¡ Á¢±ÙÇϱâ À§Çؼ´Â ¿ì¸®´Â ¾î¶² Ưº°ÇÑ Á¢±Ù ¸ÞÄ«´ÏÁòÀ» »ç¿ëÇØ¾ß ÇÑ´Ù (±×°ÍÀº ±× ¾ð¾î¿¡ ÀÇÇØ¼ Á¤ÀǵȴÙ.) º¸Åë À̰ÍÀº µµÆ®(Á¡)ÀÌ´Ù.
À§¿¡ ¿ì¸®°¡ Á¤ÀÇÇÑ ÁÖ¼ÒÇüÀÇ °æ¿ì¸¦ °í·ÁÇØ º»´Ù¸é ¿ì¸®´Â º£ÀÌÁ÷¿¡¼ ÀÌ·¸°Ô ÇÒ °ÍÀÌ´Ù:
DIM Addr AS Address Addr.HsNumber = 7 Addr.Street = "High St" Addr.Town = "Anytown" Addr.ZipCode = "123 456" PRINT Addr.HsNumber," ",Addr.Street
¿©·¯ºÐÀÌ ÀÌ¹Ì Å¬·¡½ºÁ¤ÀǸ¦ À§¿Í °°ÀÌ Å¸ÀÌÇÁÇØ ³Ö¾ú´Ù°í °¡Á¤Çϰí, ±×¸®°í ÆÄÀ̽㿡¼´Â ´ÙÀ½°ú °°´Ù:
Addr = Address(7,"High St","Anytown","123 456") print Addr.HsNumber, Addr.Street
±×°ÍÀº ¿ì¸®ÀÇ AddressÇüÀÇ ½Çü¸¦ »ý¼ºÇÑ´Ù ±×¸®°í ±×°ÍÀ» º¯¼ö addr¿¡ ÇÒ´çÇÑ´Ù. ¿ì¸®´Â ±×·¯¸é »õ·ÎÀÌ »ý¼ºµÈ ½ÇüÀÇ Hs_Number ¿Í StreetÀÇ Çʵ带 Á¡ ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. ¹°·Ð, ¿©·¯ºÐÀº »õ·Î¿î ÁÖ¼ÒÇüÀÇ º¯¼öµéÀ» ¿©·¯°³ ¸¸µé¾î ³¾ ¼öµµ ÀÖ´Ù. °¢°¢ÀÇ º¯¼öµéÀº ÀڽŸ¸ÀÇ °³º°ÀûÀÎ Áö¹ø°ú, µµ·Î¹øÈ£ µîµîÀ» °¡Áø´Ù.
ƼŬ¿¡¼ º¹ÇÕÇü¿¡ ´ëÇØ °¡Àå ºñ½ÁÇÏ°Ô Á¢±ÙÇÏ´Â °ÍÀº ´Ü¼øÈ÷ Çʵ带 ¸®½ºÆ®·Î ÀúÀåÇÏ´Â °ÍÀÌ´Ù. ¿©·¯ºÐÀº ÀÏ·ÃÀÇ ÇʵåµéÀ» ´Ù½Ã ÃßÃâÇÒ¼ö ÀÖ±â À§ÇÏ¿© ±â¾ïÇÒ Çʿ䰡 ÀÖ´Ù. Çʵå¼ýÀÚ¸¦ º¯¼ö¿¡ ÇÒ´çÇÔÀ¸·Î½á, À̰ÍÀº ¾à°£ °£¼ÒÈ µÉ ¼ö ÀÖ´Ù. ÀÌ·±½ÄÀ¸·Î Àü¼úÇÑ ¿¹Á¦´Â ´ÙÀ½°ú °°ÀÌ º¸ÀÏ °ÍÀÌ´Ù:
set Hs_num 0 set Street 1 set Town 2 set zip 3 set addr [list 7 "High St" "Anytown" "123 456"] puts [format "%s %s" [lindex $addr $Hs_num] [lindex $addr $Street]]
ƼŬÀÇ Çü½ÄÈ ¹®ÀÚ¿ÀÇ »ç¿ë°ú '[]'·Î ³»Æ÷µÈ ¼¼Æ®¸¦ ÁÖ¸ñÇ϶ó.
»ç¿ëÀÚ Á¤ÀÇÇüÀº, ¾î¶² ¾ð¾î¿¡¼´Â, 󸮹æ¹ýµµ Á¤ÀǵȴÙ. À̰ÍÀº °´Ã¼ ÁöÇâÇü ÇÁ·Î±×·¡¹Ö object oriented programmingÀ̶ó°í ¾Ë·ÁÁø °ÍÀÇ ±âº»Åä´ëÀÌ´Ù. ¿ì¸®´Â ÀÌ ÁÖÁ¦¿¡ °üÇÏ¿© Àüü¼½¼ÇÀ» ÈÄ¿¡ ÇÒ¾Ö ÇÏ¿´´Ù. ±×·¯³ª º»ÁúÀûÀ¸·Î °´Ã¼´Â µ¥ÀÌŸ ¿ä¼Ò¿Í ±× µ¥ÀÌŸ¿Í °ü·ÃµÈ ¿¬»êÀÇ ÁýÇÕÀ¸·Î, ÇϳªÀÇ ´ÜÀ§·Î ½Î¿©Á® Ãë±ÞµÇ´Â °ÍÀÌ´Ù. ÆÄÀ̽ãÀº °´Ã¼¸¦ Ç¥ÁضóÀ̺귯¸® ¸ðµâ¿¡¼ ±¤¹üÀ§ÇÏ°Ô »ç¿ëÇÏ¸ç ¶ÇÇÑ ¿ì¸®°¡ ÇÁ·Î±×·¡¸Ó·Î¼ ¿ì¸® ÀڽŸ¸ÀÇ °´Ã¼ÇüÀ» ¸¸µé¼ö ÀÖµµ·Ï ÇØÁØ´Ù.
°´Ã¼ ¿¬»êÀº »ç¿ëÀÚ Á¤ÀÇ ÇüÀÇ µ¥ÀÌŸ ±¸¼º¿ø¿¡ Á¢±ÙÇÏ´Â °Í°ú °°Àº ¹æ½ÄÀ¸·Î, Á¡ ¿¬»êÀÚ¸¦ ÅëÇÏ¿© Á¢±ÙµÈ´Ù. ±×·¯³ª ´Ù¸¥¸éÀ¸·Î´Â ÇÔ¼ö¿Íµµ ºñ½ÁÇÏ´Ù. ÀÌ·¯ÇÑ Æ¯º°ÇÑ ÇÔ¼öµéÀº ¸Þ½îµåmethods¶ó°í ºÒ¸®¿î´Ù. ¿ì¸®´Â ÀÌ¹Ì À̰ÍÀ» ¸®½ºÆ®ÀÇ append()¿¬»ê¿¡¼ º¸¾Ò´Ù. ±×°ÍÀ» »ç¿ëÇϱâ À§Çؼ ¿ì¸®´Â º¯¼öÀ̸§À§¿¡ ÇÔ¼öÈ£ÃâÀ» °É¾î¾ß¸¸ ÇÑ´Ù´Â °ÍÀ» »ó±âÇ϶ó:
>>> listObject = [] # an empty list >>> listObject.append(42) # a method call of the list object >>> print listObject [42]
Ŭ·¡½º¶ó°í ¾Ë·ÁÁø, °´Ã¼ÇüÀÌ ÇϳªÀÇ ¸ðµâ¿¡ Á¦°øµÇ¾î ÀÖ´Ù¸é ¿ì¸®´Â ±× ¸ðµâÀ» (Àü¿¡ sys¸ðµâ¿¡ Çß´ø °Íó·³) ¼öÀÔÇØ¾ßÇÑ´Ù. ±×¸®°í´Â ±× °´Ã¼ÇüÀ» ±× ¸ðµâÀÇ À̸§À¸·Î Á¢µÎ»ç¸¦ »ï¾Æ¼ ½Çü¸¦ »ý¼ºÇÏ°í ¿ì¸®´Â ±×°ÍÀ» º¯¼ö¿¡ ÇÒ´çÇÒ ¼ö ÀÖ´Ù. ±×·¯¸é ¿ì¸®´Â ¸ðµâÀÇ À̸§À» »ç¿ëÇÏÁö ¾Ê°íµµ ±× º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¿ì¸®´Â À̰ÍÀ» °¡»óÀûÀÎ ¸ðµâ '°í±â'¸¦ °íÂûÇÔÀ¸·Î½á ¼³¸íÇÏ·Á ÇÑ´Ù. ±× ¸ðµâÀº ½ºÆÔŬ·¡½º¸¦ Á¦°øÇÑ´Ù. ¿ì¸®´Â ±× ¸ðµâÀ» ¼öÀÔÇϰí, ½ºÆÔÀÇ ½Çü¸¦ »ý¼ºÇÏ°í ±×¸®°í µ¥ÀÌŸ¿Í ¿¬»ê¿¡ ´ÙÀ½°ú °°ÀÌ Á¢±ÙÇÑ´Ù:
>>> import meat >>> mySpam = meat.Spam() # create an instance, use module name >>> mySpam.slice() # use a Spam operation >>> print mySpam.ingredients # access Spam data {Pork:40%, Ham:45%, Fat:15%}
½Çü¸¦ »ý¼ºÇÒ Çʿ䰡 ÀÖ´Ù´Â °ÍÀ» »©°í´Â, ¸ðµâ¾È¿¡ Á¦°øµÈ °´Ã¼¸¦ »ç¿ëÇÏ´Â °Í°ú ¸ðµâ¾È¿¡¼ ¹ß°ßµÇ´Â ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °Í°ú´Â ½ÇÁ¦ÀûÀÎ Â÷À̰¡ ¾ø´Ù. °´Ã¼ÀÇ À̸§À» ´Ü¼øÇÏ°Ô ÇÔ²² ±×·ìÁö¾îÁø °ü·ÃµÈ ÇÔ¼ö¿Í º¯¼öµéÀ» À¯ÁöÇÏ´Â ¶óº§À̶ó°í »ý°¢Çغ¸¶ó.
±×°ÍÀ» »ìÆìº¸´Â ¶Ç ´Ù¸¥ ¹æ¹ýÀº °´Ã¼´Â ½ÇÁ¦ ¼¼°èÀÇ »ç¹°µéÀ» ³ªÅ¸³»´Â °ÍÀÌ´Ù, ¿ì¸®´Â ÇÁ·Î±×·¡¸Ó·Î¼ ±×°Í¿¡ ´ëÇÏ¿© 󸮸¦ ÇÒ¼ö°¡ ÀÖ´Ù. ÀÌ·¯ÇÑ °üÁ¡Àº ÇÁ·Î±×·¥¿¡¼ °´Ã¼¶ó´Â ¿ø·¡ÀÇ ¾ÆÀ̵ð¾î°¡ ½ÇÁ¦ ¼¼°èÀÇ »óȲÀ» ÄÄÇ»ÅÍ·Î ¸ð»çÇÏ·Á´Â °ÍÀ¸·ÎºÎÅÍ ±â¿øÇß´Ù´Â °ÍÀÌ´Ù.
Å¥º£ÀÌÁ÷À̳ª ƼŬ ¸ðµÎ º¹ÇÕÇü¿¡´Ù ¿¬»êÀÚ¸¦ ´õÇÏ´Â ´É·ÂÀ» Á¦°øÇÏÁö ¾Ê´Â´Ù. ±×·¸Áö¸¸ ƼŬ¿¡´Â ¿¡µå¿Â ¶óÀ̺귯¸®°¡ ÀÖ¾î¼ À̰ÍÀ» °¡´ÉÇÏ°Ô ÇÏ¸ç ´õ¿í Çö´ëÈµÈ ºñÁê¾ó º£ÀÌÁ÷ º¯Á¾Àº À̰ÍÀ» ¼öÇàÇÑ´Ù.
ÀÌ À¥Æ©ÅÍ¿¡¼ ³ªÀÇ ±âº»ÀûÀÎ ¸ñÀûÀº ¿©·¯ºÐ¿¡°Ô ÇÁ·Î±×·¥ÇÏ´Â ¹ýÀ» °¡¸£Ä¡´Â °ÍÀÌ°í ³»°¡ À¥Æ©ÅÍ¿¡¼ ÆÄÀ̽ãÀ» »ç¿ëÇÑ´Ù°í ÇÒÁö¶óµµ °Å±â¿¡´Â Ưº°ÇÑ ÀÌÀ¯°¡ ÀÖ´Â °ÍÀº ¾Æ´Ï¸ç, À̰ÍÀ» Àаí¼, ¿©·¯ºÐÀº ¹ÛÀ¸·Î ³ª°¡¼ ´Ù¸¥ ¾ð¾î¸¦ ÀÐ°í ´ë½Å¿¡ ±×°ÍÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ½ÇÁ¦·Î ±×°ÍÀÌ ¹Ù·Î ³»°¡ ¿©·¯ºÐÀÌ ÇØÁֱ⸦ ¹Ù¶ó´Â °ÍÀε¥ ¾î¶² ¾ð¾îµµ, ÆÄÀ̽ã±îÁöµµ, ¸ðµç °ÍÀ» ÇÒ¼ö´Â ¾ø±â ¶§¹®ÀÌ´Ù. ±×·¯ÇÑ ¸ñÀû¶§¹®¿¡ ³ª´Â ÆÄÀ̽ãÀÇ ¸ðµç »ç¾çÀ» °¡¸£Ä¡Áö ¾Ê°í ´Ù¸¥ ¾ð¾î¿¡¼µµ ¿ª½Ã ÀϹÝÀûÀ¸·Î ¹ß°ßµÇ´Â °Íµé¿¡ ´ëÇØ¼ ÁýÁßÀûÀ¸·Î ´Ù·ê °ÍÀÌ´Ù. °á°úÀûÀ¸·Î ÆÄÀ̽ãÀÇ ¾î¶² Ưº°ÇÑ »ç¾çµé¿¡ ´ëÇØ¼´Â, ±×°ÍµéÀÌ ´ë´ÜÈ÷ °·ÂÇÔ¿¡µµ ºÒ±¸ÇÏ°í ³ª´Â ÀüÇô ±×°ÍµéÀ» ¼³¸íÇÏÁö ¾ÊÀ»°ÍÀÌ¸ç ±×°Í¿¡´Â Ưº°ÇÑ ¿¬»êÀÚµµ Æ÷ÇÔÇÑ´Ù. ´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ´Ù¸¥ ¾ð¾î¿¡¼´Â Áö¿øÇÏÁö ¾ÊÀ¸³ª ÀÚ½ÅÀº Áö¿øÇϴ ó¸®¹æ¹ýµéÀ» °¡Áø´Ù. »õ·Î¿î ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ÃâÇö½ÃŰ´Â °ÍÀº ¹Ù·Î ÀÌ·¯ÇÑ 'µ¶Æ¯ÇÑ' ¿¬»êÀÚµéÀÌ´Ù. ±×¸®°í ±×°ÍÀº ºÐ¸íÈ÷ ±× ¾ð¾î°¡ ¾ó¸¶³ª ¹ø¼ºÇϴ°¡¸¦ °áÁ¤ÇÏ´Â Áß¿äÇÑ ¿äÀÎÀÌ´Ù.
¿¹¸¦ µé¾î ÆÄÀ̽ãÀº ¸®½ºÆ® ½ä±â( spam[X:Y] )¿Í ÅÍÇÃÇÒ´ç( X, Y = 12, 34 )µî°ú °°Àº »ó´ëÀûÀ¸·Î Èñ±ÍÇÑ ¿¬»êµéÀ» Áö¿øÇÑ´Ù. ÆÄÀ̽ãÀº ¶ÇÇÑ ÁýÇÕÀÇ ¸ðµç ±¸¼º¿øµé¿¡ ´ëÇÏ¿© map()ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© 󸮸¦ ¼öÇàÇÏ´Â ´É·ÂÀ» °¡Áø´Ù. ¸¹°í ¸¹Àº ±â´ÉÀÌ ÀÖ¾î¼ ¶§·Î´Â "ÆÄÀ̽ãÀº ¹åµ¥¸®¸¦ ³»ÀåÇÏ°í ³ªÅ¸³´Ù"¶ó°í ¸»ÇÏ¿©Áö°ï ÇÑ´Ù. ÀÌ·¯ÇÑ ÆÄÀ̽ãÀÇ Æ¯º°ÇÑ ¿¬»êµéÀÌ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×À» º¸·Á¸é ¿©·¯ºÐÀº ÆÄÀ̽㠹®¼¸¦ ÂüÁ¶ÇÒ Çʿ䰡 ÀÖ´Ù.
¸¶Áö¸·À¸·Î, ÁöÀûÇÒ ¸¸ÇÑ »çÇ×Àº ³»°¡ ±× »ç¾çµéÀÌ ÆÄÀ̽ãÀÇ Æ¯º°ÇÑ °ÍÀ̶ó°í ¸»ÇÒÁö¶óµµ ±×°ÍÀÌ ´Ù¸¥ ¾ð¾î¿¡¼´Â ¹ß°ßµÇÁö ¾Ê´Â´Ù´Â °ÍÀ» ¶æÇÏ´Â °ÍÀÌ ¾Æ´Ï°í, ¿ÀÈ÷·Á ¸ðµç ¾ð¾î¿¡¼ ÀüºÎ ´Ù ¹ß°ßµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó°í ¸»ÇÏ´Â °ÍÀÌ´Ù. ¿ì¸®°¡ ÁÖ·Î ´Ù·é ¿¬»êÀÚµéÀº °ÅÀÇ ¸ðµç Çö´ëÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼´Â ¾î¶² ÇüÅ·εç ÀϹÝÀûÀ¸·Î »ç¿ë°¡´ÉÇÏ´Ù.
À̰ÍÀ¸·Î ¿ì¸®´Â ÇÁ·Î±×·¡¹ÖÀÇ ¿ø Àç·áµéÀ» »ìÆìº¸¾Ò´Ù, Å×Å©´ÐÀ̶ó´Â ´õ¿í ´õ Èï¹Ì·Î¿î ÁÖÁ¦·Î Áø±ºÇغ¸ÀÚ ±×¸®°í ¾î¶»°Ô ¿ì¸®°¡ ÀÌ·¯ÇÑ Àç·áµéÀ» ÀÛµ¿ÇÏ°Ô ÇÒ¼ö ÀÖ´ÂÁö ¾Ë¾Æº¸ÀÚ.
ÁÖ¼Ò·Ï ¿¹Á¦¿¡ °üÇÑ ´õ¿í »ó¼¼ÇÑ Á¤º¸³»°¡ ÀÌÀü¿¡ ¾ð±ÞÇÑ ¹Ù¿Í °°ÀÌ, ÀÌ ¿¹Á¦ÀÇ ¼¼ºÎ»çÇ×Àº ÈÄ¿¡ ¼³¸íµÇ°ÚÁö¸¸, ¾î¶² µ¶ÀÚµéÀº ÀÌ ¿¹Á¦¸¦ ÀÛµ¿½Ã۴µ¥ ¾î·Á¿òÀ» °ÞÀ» ¼öµµ ÀÖ´Ù. ÀÌ ¸Þ¸ðÀåÀº ¶óÀÎ ¶óÀδÜÀ§·Î ±× ÆÄÀ̽ã Äڵ带 ¼³¸íÇØÁØ´Ù: ÀÌ ¿¹Á¦ÀÇ ¿ÏÀüÇÑ ÄÚµå´Â ´ÙÀ½°ú °°ÀÌ º¸ÀϰÍÀÌ´Ù: >>> class Address: ... def __init__(self, Hs, St, Town, Zip): ... self.Hs_Number = Hs ... self.Street = St ... self.Town = Town ... self.Zip_Code = Zip ... >>> Addr = Address(7,"High St","Anytown","123 456") >>> print Addr.Hs_Number, Addr.Street ¿©±â¿¡ ±× ¼³¸íÀÌ ÀÖ´Ù:
>>> class Address: class ¼¼ú¹®Àº ÆÄÀ̽㿡°Ô À̰æ¿ì¿¡´Â Address¶ó°í ºÒ¸®¿ì´Â, »õ·Î¿î ÇüÀ» ¿ì¸®´Â Á¤ÀÇÇÏ·Á°í ÇÑ´Ù´Â °ÍÀ» ¸»ÇØÁØ´Ù. ½ÖÁ¡(:)Àº µÚ¿¡ µû¸£´Â, µé¿©¾²±âµÈ ¾î¶°ÇÑ ¶óÀεµ ±× Ŭ·¡½ºÀÇ Á¤ÀǺκÐÀÌ µÉ °ÍÀ̶ó´Â °ÍÀ» Áö½ÃÇÑ´Ù. Á¤ÀÇ´Â ´ÙÀ½ÀÇ µé¿©¾²±â µÇÁö ¾ÊÀº ¶óÀο¡¼ ³¡³¯ °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ IDLEÀ» »ç¿ëÇÑ´Ù¸é ¿©·¯ºÐÀº ±× ¿¡µðÅͰ¡ ´ÙÀ½ÀÇ ¶óÀÎÀ» ¿©·¯ºÐÀ» À§ÇØ µé¿©¾²±â ÇØÁشٴ °ÍÀ» ¹ß°ßÇÒ °ÍÀÌ´Ù. ¸¸¾à µµ½ºÃ¢À¸·Î ¸í·É¾î ¶óÀÎ ÆÄÀ̽ã ÇÁ·ÒÇÁÆ®¿¡¼ ÀÛ¾÷ÇÑ´Ù¸é ±×·¯¸é, ¿©·¯ºÐÀº º¸¿©Áö´Â ¹Ù¿Í °°ÀÌ ¶óÀεéÀ» ¼öµ¿À¸·Î µé¿©½áÁÙ Çʿ䰡 ÀÖÀ» °ÍÀÌ´Ù. ÆÄÀ̽ãÀº Àϰü¼º¸¸ ÀÖ´Ù¸é, ¾ó¸¶³ª ¸¹ÀÌ µé¿©¾²±â Çߴ³Ĵ »ó°üÇÏÁö ¾Ê´Â´Ù. ... def __init__(self, Hs, St, Town, Zip): ¿ì¸®ÀÇ Å¬·¡½º ¾È¿¡ Àִ ù¹øÂ° Ç׸ñÀº ¸Þ½îµå Á¤ÀÇ method definition¶ó°í ¾Ë·ÁÁø °ÍÀÌ´Ù. ÀÌ ¸Þ½îµå´Â __init__¶ó°í ºÒ¸®´Âµ¥ ¿ì¸®°¡ ¿ì¸®ÀÇ »õ·Î¿î Ŭ·¡½ºÀÇ ½Çü¸¦ »ý¼ºÇÒ ¶§ ÆÄÀ̽㿡 ÀÇÇÏ¿© ¼öÇàµÇ´Â Ưº°ÇÑ ¿¬»êÀÌ´Ù. ¿ì¸®´Â ±×°ÍÀ» °£´ÜÇÏ°Ô ¾Ë¾Æº¼ °ÍÀÌ´Ù. ½ÖÁ¡Àº, Àü°ú °°ÀÌ, ´ÙÀ½ÀÇ µé¿©¾²±âµÈ ¶óÀÎÀÇ ¼¼Æ®°¡ ±× ¸Þ½îµåÀÇ ½ÇÁ¦ Á¤Àǰ¡ µÉ °ÍÀ̶ó´Â °ÍÀ̶ó°í ´Ü¼øÈ÷ ÆÄÀ̽㿡°Ô ¾Ë·Á ÁØ´Ù. ... self.Hs_Number = Hs ÀÌ ¶óÀΰú ´ÙÀ½ÀÇ ¼¼ ¶óÀÎÀº, ¸ðµÎ °ªµéÀ» ¿ì¸®ÀÇ °´Ã¼ÀÇ ³»ºÎ Çʵ忡´Ù ÇÒ´çÇÑ´Ù. ±×°ÍµéÀº def ¼¼ú¹®À¸·ÎºÎÅÍ µé¿©¾²±â µÇ¾îÁ®¼ ÆÄÀ̽㿡°Ô ±×µéÀÌ __init__¿¬»êÀÇ ½ÇÁ¦ÀûÀÎ Á¤ÀǸ¦ ±¸¼ºÇÑ´Ù´Â °ÍÀ» ¸»ÇØÁØ´Ù. °ø¹é¶óÀÎÀº ÆÄÀ̽ã ÀÎÅÍÇÁ¸®ÅÍ¿¡°Ô Ŭ·¡½º Á¤Àǰ¡ ³¡³µ±â ¶§¹®¿¡ ¿ì¸®´Â >>>ÇÁ·ÒÇÁÆ®·Î ´Ù½Ã µ¹¾Æ¿Í¾ß ÇÑ´Ù´Â °ÍÀ» ¸»ÇØÁØ´Ù. >>> Addr = Address(7,"High St","Anytown","123 456") À̰ÍÀº ¿ì¸®ÀÇ AddressÇüÀÇ »õ·Î¿î ½Çü¸¦ ¸¸µé¾î ÁÖ¸ç ÆÄÀ̽ãÀº À§¿¡ Á¤ÀÇµÈ __init__ ¿¬»êÀ» »ç¿ëÇÏ¿© ¿ì¸®°¡ Á¦°øÇÑ ±× °ªÀ» ³»ºÎ Çʵ忡 ÇÒ´çÇÑ´Ù. ±× ½Çü´Â Addr º¯¼ö¿¡ ÇÒ´çµÈ´Ù. ¸¶Âù°¡Áö·Î ´Ù¸¥ ¾î¶² µ¥ÀÌŸÇüÀÇ ½Çüµµ ±×·² ¼ö ÀÖ´Ù. >>> print Addr.Hs_Number, Addr.Street ÀÌÁ¦ ¿ì¸®´Â Á¡ ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© Á¢±ÙÇÏ¿© ³»ºÎÇʵåÀÇ °ª µÎ °³¸¦ Ãâ·ÂÇÑ´Ù. ³»°¡ ¾ð±ÞÇÑ ¹Ù¿Í °°ÀÌ ¿ì¸®´Â ÀÌ Áöħ¼¿¡¼ ³ªÁß¿¡ ´õ »ó¼¼ÇÏ°Ô ÀÌ·¯ÇÑ ¸ðµç °ÍµéÀ» ´Ù·ê °ÍÀÌ´Ù. °£Á÷ÇØ¾ßÇÒ Áß¿äÇÑ ¿äÁ¡Àº ÆÄÀ̽ãÀ¸·Î ¿ì¸®´Â ¿ì¸® ÀڽŸ¸ÀÇ µ¥ÀÌŸ ÇüÀ» ¸¸µé¼ö ÀÖÀ¸¸ç ±×°ÍµéÀ» ³»ÀåµÈ °Íµé°ú ¸¶Âù°¡Áö·Î ¾ÆÁÖ Àß »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. |
±â¾ïÇØ¾ßÇÒ ¿äÁ¡ |
---|
|
Previous  Next  Contents
ÀÌ À¥ÆäÀÌÁö¿¡ Áú¹®ÀÌ Àְųª Á¦¾È»çÇ×ÀÌ ÀÖÀ¸¸é ´ÙÀ½ ÁÖ¼Ò·Î ³ª¿¡°Ô ÀüÀÚ¸ÞÀÏÀ» º¸³»¶ó:
agauld@crosswinds.net