3.3. Áö¿ªº¯¼ö¿Í Àü¿ªº¯¼ö

(°íÄ£ ³¯ : 2001-07-16)

¿©·¯ºÐ ¾È³çÇϼ¼¿ä~.

¿À´Ã(ÀÌ °­Á¸¦ óÀ½ ¾´ ³¯)Àº Á¦°¡ Áß°£ ½ÃÇè º¸´Â ³¯À̶ø´Ï´Ù. ½Ã½ºÅÛ ÇÁ·Î±×·¡¹ÖÀ̶û, ¼±Çü´ë¼ö °ú¸ñÀ̱¸¿ä, ½Ã½ºÅÛ ºÐ¼® ¼³°è °úÁ¦¹°µµ ³»¾ßÇÕ´Ï´Ù.

½Ã½ºÅÛ ÇÁ·Î±×·¡¹ÖÀº ÄÄÇ»ÅÍÀÇ CPU ±¸Á¶¶û, ¾î¼Àºí¸® ¾ð¾î, ¾î¼Àºí¸® ¾ð¾î¸¦ ÇØ¼®Çؼ­ ÄÄÇ»ÅͰ¡ ¾Ë ¼ö ÀÖ°Ô ±â°è¾î·Î ¹Ù²ãÁÖ´Â ¾î¼Àºí·¯ÀÇ ÀÛµ¿¿ø¸®, ¿î¿µÃ¼Á¦µµ Æ÷ÇÔµÈ °ú¸ñÀÔ´Ï´Ù.

ÇÑ ¸¶µð·Î ¿ì¸®°¡ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥°ú ÄÄÇ»ÅÍ ÀåÄ¡ »çÀÌ¿¡¼­ ÀÏÇÏ´Â °ÍÀÌ ½Ã½ºÅÛ ÇÁ·Î±×·¥À̶ó°í ÇÒ ¼ö ÀÖÁö¿ä.

¼±Çü´ë¼ö´Â ¼öÇÐÀÇ Çà·Ä, º¤ÅÍ °°Àº °Í¿¡ ´ëÇØ ÀÚ¼¼È÷ ³ª¿À´Âµ¥, ÄÄÇ»ÅÍ ±×·¡ÇÈÀ» ±¸ÇöÇÒ ¶§µµ ÀÌ·± °ÍÀ» »ç¿ëÇÏ´õ±º¿ä. ´Ù¸¥ ¿©·¯ ºÐ¾ß¿¡µµ ÀÀ¿ëÀÌ µÇ°ÚÁÒ.

 ½Ã½ºÅÛ ºÐ¼® ¼³°è´Â °Ç¹°À» Áþ±â Àü¿¡ ¸ÕÀú ¼³°è¸¦ ÇÏ´Â °Íó·³ ÇÁ·Î±×·¥À» © ¶§ ÀüüÀûÀÎ ¼³°è¸¦ ÇÏ´Â °ÍÀÔ´Ï´Ù.

º¸Åë ÇÁ·Î±×·¡¸Ó°¡ µÇ·Á¸é ÀÚ¹Ù, C, ºñÁÖ¾ó º£ÀÌÁ÷ °°Àº ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¸ ¹è¿ì¸é µÇ´Â °ÍÀ¸·Î »ý°¢À» Çϱ⠽¬¿îµ¥, »ç½Ç ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ÇÑ ºÎºÐ¿¡ ºÒ°úÇÏ´ä´Ï´Ù.

±×·¡¼­ ÁÁÀº ÇÁ·Î±×·¡¸Ó°¡ µÇ±â À§Çؼ± ¸¹Àº ±³À°°ú °æÇèÀÌ ÇÊ¿äÇÏÁö¿ä.

Á¦ °­Á¸¦ º¸°í °è½Å ¿©·¯ºÐ Áß¿¡ ÇÁ·Î±×·¡¸Ó°¡ µÇ°í ½ÍÀº ºÐÀÌ ÀÖ´Ù¸é Çб³°øºÎ(ƯÈ÷ ¿µ¾î, ¼öÇÐ)µµ ¿­½ÉÈ÷ ÇϽðí, ÁÖÀ§ÀÇ ¼±¹èµé, °ü·Ã ȨÆäÀÌÁö³ª ¿ù°£Áö¸¦ ÅëÇØ¼­ Á¤º¸¸¦ ¾ò´Â´Ù¸é µµ¿òÀÌ µÇ½Ç °Å¿¹¿ä.

 

¿À´Ãµµ ÇÔ¼ö¿¡ °üÇÑ ÀÌ¾ß±â¶ø´Ï´Ù. Á¦¸ñ¿£ º¯¼ö¶ó°í ³ª¿ÍÀÖÁö¸¸¿ä.

¸ÕÀú ¿¹Á¦¸¦ º¸½Ç±î¿ä?

 

Çб³ ´Ù´Ò ¶§, ÀúÈñ Çб³ ¯Àº ¿µ±¸¿´½À´Ï´Ù. Á¦°¡ ÀüÇа¡±â Àü±îÁö´Â¡¦

 

>>> jjang = '09'

 

Á¦°¡ °¡¼­ ¹Ù·Î ¯ ¸Ô¾úÁö¿ä. ÈåÈåÈ塦

 

>>> jjang = 'pig dad¡¯

 

¾ÖµéÇÑÅ× ¹°¾îº¸¸é ´©°¡ ¯À̶ó°í ÇÒ±î¿ä? ´ç±Ù¡¦

 

>>> jjang

'pig dad'

 

±×·±µ¥ ÀÚ±â³× ¹Ý¿¡¼­ ¯À̶ó°í ±õÁװŸ®´Â ³à¼®ÀÌ ÀÖ¾úÀ¸´Ï, ¹Ù·Î ¶¯Ä¥À̶ó´Â Ä£±¸¿´´ä´Ï´Ù. ¹ÝÀ̶ó´Â ÇÔ¼ö¸¦ ¸¸µé¾î º¸ÁÒ.

 

>>> def ban():

...   jjang = '07'

...   print 'jjang =', jjang

...

>>> ban()

jjang = 07

 

±×·¯³ª¡¦ ¶¯Ä¥À̵µ Á¦ ¾Õ¿¡¼± ±ú°»~À̶ø´Ï´Ù. ¿ï Çб³ ¯Àº º¯ÇÔ ¾øÀÌ Àú°É¶û¿ä¡¦

 

>>> jjang

'pig dad'

 

 

 

 

 

 

 

 

 

 

 

 

 

±×¸²¿¡¼­ ¹Ù±ùÂÊ »ç°¢ÇüÀº Çб³ Àüü(ÇÁ·Î±×·¥ Àüü)¸¦ ÀǹÌÇϱ¸¿ä, ¾ÈÂÊÀÇ »ç°¢ÇüÀº ¶¯Ä¥ÀÌ³× ¹Ý(ban ÇÔ¼ö)¸¦ ¶æÇÕ´Ï´Ù.

ban() ÇÔ¼ö ¾È¿¡¼­ jjang = ¡®07¡¯À̶ó°í Çϸé jjangÀ̶õ º¯¼ö¸¦ »õ·Î ¸¸µå´Â °Å±¸¿ä, ±âÁ¸ÀÇ jjang¿¡´Â ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê½À´Ï´Ù.

±×¸®°í, ban ÇÔ¼ö°¡ ³¡³¯ ¶© ±× ÇÔ¼ö ³»¿¡¼­ ¸¸µé¾ú´ø º¯¼öµéÀº ¸ðµÎ ¾ø¾îÁö´Â °ÅÁÒ.

 

ÀÌ¿Í °°ÀÌ ÇÔ¼ö ¾È¿¡¼­ ¸¸µé¾îÁø º¯¼ö¸¦ Áö¿ªº¯¼ö¶ó°í Çϰí, ÇÔ¼ö ¹Û¿¡¼­ ¸¸µé¾îÁø º¯¼ö¸¦ Àü¿ªº¯¼ö¶ó°í ÇÕ´Ï´Ù.

Áö¿ªº¯¼ö´Â ÇÔ¼ö°¡ È£ÃâµÇ¸é ¸¸µé¾îÁ®¼­, ÇÔ¼öÀÇ ½ÇÇàÀÌ ³¡³¯ ¶§ ÇÔ²² ¾ø¾îÁö´Â ¹Ý¸é, Àü¿ªº¯¼ö´Â ÇÔ¼ö¿Í´Â °ü°è¾øÀÌ Ç×»ó ²à²àÀÌ Áö±¸¸¦ ÁöŲ´ä´Ï´Ù.

±×·¡¼­ ¿µ¾î·Î Àü¿ªº¯¼ö¸¦ globalÀ̶ó´Â ¸»·Î Ç¥ÇöÇÏÁö¿ë¡¦

 

Áö¿ªº¯¼ö¸¦ ÇÔ¼ö ¹Û¿¡¼­ Çѹø ºÒ·¯º¼±î¿ä?

 

>>> def d_is_10():

...     d = 10               # Áö¿ªº¯¼ö

...     print 'd °ªÀº ', d, 'ÀÔ´Ï´Ù'

...

>>> d_is_10()

d °ªÀº  10 ÀÔ´Ï´Ù

>>> d

Traceback (most recent call last):

  File "<stdin>", line 1, in ?

NameError: name 'd' is not defined

 

d¸¦ ºÒ·¯ºÁµµ ¡®d¶ó´Â À̸§ÀÌ ¾ø´Ù¡¯´Â ¿¡·¯ ¸Þ½ÃÁö¸¸ ¶ßÁö¿ä?

d_is_10() ÇÔ¼ö°¡ ½ÇÇàµÇ´Â µ¿¾ÈÀº d°¡ ÀÖ¾ú´Âµ¥, ÇÔ¼öÀÇ ½ÇÇàÀÌ ³¡³­ ´ÙÀ½¿¡ ÇÔ²² »ç¶óÁ®¹ö·È±â ¶§¹®ÀÔ´Ï´Ù.

 

¹Ý´ë·Î, Àü¿ªº¯¼ö´Â ÇÔ¼ö ¾È¿¡¼­µµ ¾ó¸¶µçÁö »ç¿ëÇÒ ¼ö ÀÖ´ä´Ï´Ù.

 

>>> x = 10                 # Àü¿ªº¯¼ö

>>> def printx():

...   print x

...

>>> printx()

10

 

±×·¸´Ù¸é Áö¿ªº¯¼ö ´ë½Å Àü¿ªº¯¼ö¸¸ ¾²´Â °ÍÀÌ ÆíÇϰڴٱ¸¿ä?

±Û½ê¿ä¡¦ Àü¿ªº¯¼ö´Â ÇÁ·Î±×·¥ÀÌ º¹ÀâÇØÁú¼ö·Ï °ñÄ¡°Å¸®°¡ µÈ´ä´Ï´Ù.

´Ù¸¥ ¾û¶×ÇÑ ÇÔ¼ö ¶§¹®¿¡ º¯¼öÀÇ °ªÀÌ ¹Ù²î¾î¹ö¸®´Â ¼ö°¡ Á¾Á¾ Àְŵç¿ä.

±×·¡¼­ Çʿ信 µû¶ó Áö¿ªº¯¼ö¿Í Àü¿ªº¯¼ö¸¦ °ñ¶ó ¾²´Â °ÍÀÌ ÁÁ´ä´Ï´Ù.

 

±×¸®°í, ÇÔ¼ö ¾È¿¡¼­ Àü¿ªº¯¼ö¸¦ ¸¸µå´Â ¹æ¹ýµµ ÀÖ´ä´Ï´Ù.

¾î¶² º¯¼ö¸¦ Àü¿ªº¯¼ö(global)·Î »ç¿ëÇϰڴٶó°í ¸í½ÃÇØÁÖ´Â °ÍÀÌÁÒ.

 

>>> def e_is_10():

...     global e            # Àü¿ªº¯¼ö

...     e = 10

...     print 'e °ªÀº ', e, 'ÀÔ´Ï´Ù'

...         

>>> e_is_10()

e °ªÀº  10 ÀÔ´Ï´Ù

>>> e

10

 

¿©±â¼­´Â e_is_10() ÇÔ¼ö°¡ ½ÇÇàµÇ¸é¼­ e¶ó´Â Àü¿ªº¯¼ö°¡ ¸¸µé¾îÁö°í, ÀÌ º¯¼ö´Â ÇÔ¼öÀÇ ½ÇÇàÀÌ ³¡³­ ´ÙÀ½¿¡µµ ¾ø¾îÁöÁö ¾Ê½À´Ï´Ù.

 

Àú´Â ±×¸¸ ½ÃÇ躸·¯ °¡¾ß°Ú³×¿ä. Áñ°Å¿î ÁÖ¸» º¸³»¼¼¿ä~.