¿ì¸®´Â ¹«¾ùÀ» ´Ù·ê °ÍÀΰ¡? |
---|
»ç¿ëÀÚ¿¡°Ô µ¥ÀÌŸ¸¦ ÀÔ·ÂÇϵµ·Ï ¿äûÇÏ´Â ¹ý ±×¸®°í ÀÏ´Ü ÀÔ·ÂµÈ µ¥ÀÌŸ¸¦ Àд ¹ý ¿ì¸®´Â ¼öÄ¡ ±×¸®°í ¹®ÀÚ¿¿¡ ±âÃÊÇÑ µ¥ÀÌŸ¸¦ Àд ¹ýÀ» º¸¿© ÁÙ °ÍÀÌ´Ù. ¶ÇÇÑ ¿ì¸®´Â ¸í·É¾î ¶óÀÎÀÇ Àμö·Î ÀÔ·ÂµÈ µ¥ÀÌŸ¸¦ Àд ¹ýÀ» »ìÆì º¼ °ÍÀÌ´Ù. |
Áö±Ý±îÁö ¿ì¸®ÀÇ ÇÁ·Î±×·¥Àº Á¤ÀûÀÎ µ¥ÀÌŸ¸¸À» ´Ù·ç¾î ¿Ô´Ù. ÇÊ¿äÇÏ´Ù¸é, ¿ì¸®´Â ±×°ÍÀ» ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ±â Àü¿¡ Á¶»çÇÒ ¼ö ÀÖ°í ±×·±½ÄÀ¸·Î ÇÁ·Î±×·¥À» ÀûÀýÇÏ°Ô ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. ´ëºÎºÐÀÇ ÇÁ·Î±×·¥Àº ±×·¸Áö ¾Ê´Ù. ´ëºÎºÐÀÇ ÇÁ·Î±×·¥Àº »ç¿ëÀÚ°¡ ÁÖµµÇØÁֱ⸦ ¿¹»óÇϸç, Àû¾îµµ ¹«½¼ÆÄÀÏÀÌ ¿¸®°í, ¾î¶² ÆÄÀÏÀ» ÆíÁýÇÒ °ÍÀΰ¡ µîµî±îÁö´Â Áö½ÃÇØ ÁÖ¾î¾ß ÇÑ´Ù. ¶Ç ´Ù¸¥ ÇÁ·Î±×·¥µéÀº »ç¿ëÀÚ¿¡°Ô »ó¼¼ÇÑ µ¥ÀÌŸ¸¦ ¿ä±¸ÇÑ´Ù. ¿ì¸®°¡ ´õ ÀÌ»ó ³ª¾Æ°¡±â Àü¿¡ ¾î¶»°Ô ±×°ÍÀÌ °¡´ÉÇÑÁö ¾Ë¾Æº¸ÀÚ.
¿©·¯ºÐÀÌ º¸µíÀÌ raw_input Àº ´Ü¼øÈ÷ ÁÖ¾îÁø ÇÁ·ÒÇÁÆ®¸¦ ³ªÅ¸³»°í »ç¿ëÀÚ°¡ ¹ÝÀÀÇÏ¿© ŸÀÌÇÁÇÑ ¾î¶² °ÍÀÌ¶óµµ »ç·ÎÀâ´Â´Ù. ±×¸®°í ³ª¼ Print´Â ±× ¹ÝÀÀÀ» Ãâ·ÂÇÑ´Ù. ¿ì¸®´Â ´ë½Å¿¡ ±×°ÍÀ» º¯¼ö¿¡ ÇÒ´çÇÒ ¼ö ÀÖ´Ù:
resp = raw_input("What's your name? ") print "Hi, %s, nice to meet you" % resp
raw_input Àº inputÀ̶ó°í ºÎ¸£´Â »çÃÌÀÌ ÀÖ´Ù. Â÷ÀÌÁ¡Àº raw_input Àº »ç¿ëÀÚ°¡ ŸÀÌÇÁÇÑ ¹®ÀÚ¸¦ ¼öÁýÇÏ°í ±×°ÍÀ» ¹®ÀÚ¿·Î ³ªÅ¸³»´Â ¹Ý¸é¿¡, inputÀº ±×°ÍµéÀ» ¸ð¾Æ¼ ¼ýÀÚ·Î º¯ÇüÇÏ·Á°í ÇÑ´Ù. ¿¹¸¦ µé¾î »ç¿ëÀÚ°¡ '1','2','3' À̶ó°í ŸÀÌÇÁÇϸé input Àº ±×°ÍÀ» 3°³ÀÇ ¹®ÀÚ·Î ÀÐ¾î¼ ¼ýÀÚ 123À¸·Î º¯ÇüÇÒ °ÍÀÌ´Ù.
inputÀ» »ç¿ëÇÏ¿© ¾î¶² °ö¼ÀÇ¥°¡ Ãâ·ÂµÉÁö¸¦ °áÁ¤ÇØ º¸ÀÚ:
multiplier = input("Which multiplier do you want? Pick a number ") for j in range(1,13): print "%d x %d = %d" % (j, multiplier, j * multiplier)
º£ÀÌÁ÷¿¡¼ INPUT ¼¼ú¹®Àº »ç¿ëÀڷκÎÅÍ ÀÔ·ÂÀ» ´ÙÀ½°ú °°ÀÌ ÀÐ¾î µéÀδÙ:
INPUT "What multiplier do you want, pick a number ";M FOR J = 1 to 12 PRINT M "x" J "= " M*J NEXT J
¿©·¯ºÐÀÌ º¸µíÀÌ ¿©·¯ºÐÀÌ ±× º¯¼ö¸¦ ¸¶Áö¸·¿¡ ³õ´Â´Ù´Â Á¡¸¸ »©°í´Â ÀÌ°ÍÀº ÆÄÀ̽ã°ú ´ë´ÜÈ÷ ºñ½ÁÇÏ´Ù. ¶ÇÇÑ º£ÀÌÁ÷Àº INPUT ¼ýÀÚ¿Í ¹®ÀÚ¿ ¸ðµÎ¿¡ »ç¿ëÇÑ´Ù. º£ÀÌÁ÷ÀÇ INPUT ¼¼ú¹®¿¡´Â º¸Åë ¸î°³ÀÇ Ãß°¡ÀûÀÎ »ç¾çÀÌ ÀÖ´Ù. ¿©·¯ºÐ¸¸ÀÇ Æ¯º°ÇÑ ¸ñÀûÀ» À§ÇÏ¿© ¿©·¯ºÐÀº ¹®¼¸¦ ÂüÁ¶ÇÏ¿©¾ß ÇÑ´Ù.
ƼŬÀº ÀڽŸ¸ÀÇ ÀÔ·Â ¸ÞÄ«´ÏÁòÀ» °¡Áö°í ÀÖ´Ù, ±×°ÍÀº (Ç¥ÁØÀÔ·Â ±×¸®°í Ç¥ÁØÃâ·ÂÆÄÀÏÀ» Æ÷ÇÔÇÏ¿©) ÆÄÀϵé°ú gets¶ó°í ºÎ¸£´Â ¸í·É¾î¿¡ ±âÃÊÇÑ´Ù.
ÀÌ°ÍÀº Ưº°ÇÑ ÆÄÀϷκÎÅÍ ÀÔ·ÂÀ» Àд´Ù. ±× ÆÄÀÏÀº ¿ì¸®ÀÇ °æ¿ì¿¡´Â stdin°¡ µÉ °ÍÀÌ´Ù.
[ ÁÖÀÇ: ]ÀÌ ÇÁ·Î±×·¥Àº Ç¥ÁØÀûÀÎ tclsh80 ȤÀº wish80 ÇÁ·ÒÇÁÆ®¿¡¼´Â ÀÛµ¿ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.
´ë½Å¿¡ ¿©·¯ºÐÀº ÀÌ°ÍÀ» (¿¹¸¦ µé¾î input.tcl) ÆÄÀϷΠŸÀÌÇÁÇØ ³ÖÀ» ÇÊ¿ä°¡ ÀÖ´Ù. ±×¸®°í ´ÙÀ½°ú °°Àº ¸í·É¾î ÇÁ·ÒÇÁÆ®¿¡¼ ±×°ÍÀ» ½ÇÇàÇÒ ÇÊ¿ä°¡ ÀÖ´Ù:
C:\PROJECTS\Tcl>tclsh80 input.tcl
¿ì¸®ÀÇ ÇÁ·Î±×·¥ÀÇ Æ¼Å¬ ¹öÀüÀº ´ÙÀ½°ú °°À» °ÍÀÌ´Ù:
puts -nonewline stdout "What multiplier do you want? " flush stdout set mult [gets stdin] for {set j 1} {$j <= 12} {incr j} { puts [format " %d x %d = %d" $j $mult [expr $mult * $j] ] }
puts¿¡ ´ëÇÑ -nonewline¼±ÅûçÇ×Àº Ä¿¼°¡ ÇÁ·ÒÇÁÆ® ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ ÈÄ¿¡ ´ÙÀ½¶óÀÎÀ¸·Î ´Ü¼øÈ÷ À̵¿ÇÏÁö ¸øÇϵµ·Ï ÇÑ´Ù. flush ´Â stdout °¡ ±× ³»¿ëÀ» Áï½Ã Ãâ·ÂÇϵµ·Ï °Á¦ÇÏ¿© ½ºÅ©¸°¿¡ È®½ÇÇÏ°Ô ³ª¿Àµµ·Ï ÇÑ´Ù. for ȸµ¹ÀÌ´Â ¿ì¸®°¡ ȸµ¹ÀÌÀÇ ¼½¼Ç¿¡¼ º» ¹öÀü°ú °ÅÀÇ µ¿ÀÏÇÏ´Ù.
´Ù¸¥ ÇüÅÂÀÇ ÀÔ·ÂÀº ¸í·É¾î ¶óÀÎÀ¸·ÎºÎÅÍ ÀԷµȴÙ. ¿¹¸¦ µé¾î ¿©·¯ºÐÀÌ ÅؽºÆ® ÆíÁý±â¸¦ ´ÙÀ½°ú °°ÀÌ ½ÇÇà½ÃÅ°¸é:
EDIT Foo.txt
¾î¶»°Ô ±× ÆíÁý±â´Â ±× ÆÄÀÏÀ̸§À» Àд°¡?
´ëºÎºÐÀÇ ¾ð¾î¿¡¼ ½Ã½ºÅÛÀº ¸í·É¾î ¶óÀÎÀÇ ´Ü¾îµéÀ» ´ã°í ÀÖ´Â ¹®ÀÚ¿ÀÇ ¸®½ºÆ® ȤÀº ¹è¿À» Á¦°øÇÑ´Ù. ±×¸®ÇÏ¿© ù ¹ø° ¿ä¼Ò´Â ¸í·É¾î ÀÚü¸¦ ´ãÀ» °ÍÀ̸ç, µÎ ¹ø° ¿ä¼Ò´Â ù ¹ø° Àμö, µîµîÀ» ´ãÀ» °ÍÀÌ´Ù. º¸Åë ¾î¶² Á¾·ùÀÇ ¸¶¹ýÀÇ º¯¼ö°¡ ÀÖ¾î¼ ¸®½ºÆ®¿¡ ÀÖ´Â ¿ä¼ÒÀÇ °³¼ö¸¦ °¡Áö°í ÀÖ´Ù.
ÆÄÀ̽㿡¼ ±× ¸®½ºÆ®´Â sys¸ðµâÀÌ °¡Áö°í ÀÖÀ¸¸ç argv ('argument values'ÀÇ ¾àĪ)¶ó°í ºÒ¸®¿î´Ù. ¿ì¸®´Â ±× ¿ä¼ÒµéÀ» Áöǥȸ¦ »ç¿ëÇϰųª ȤÀº ¸®½ºÆ®¸¦ ¼øȸÇÔÀ¸·Î½á ÃßÃâÇÒ ¼ö ÀÖ´Ù, ´ÙÀ½°ú °°ÀÌ:
import sys for item in sys.argv: print item print "the first argument was:", sys.argv[1]
ÀÌ°ÍÀº ¿©·¯ºÐÀÌ ÆÄÀÏ·Î(¿¹¸¦ µé¾î args.py)·Î ÀÔ·ÂÇÏ°í ±×°ÍÀ» ¿î¿µÃ¼Á¦ÀÇ ÇÁ·ÒÇÁÆ®¿¡¼ ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÒ ¶§¸¸ÀÌ ½ÇÇàµÈ´Ù´Â °ÍÀ» ÁÖ¸ñÇ϶ó:
C:\Python\PROJECTS> python args.py 1 23 fred args.py 1 23 fred thr first argument was: 1 C:\PYTHON\PROJECTS>
ƼŬÀº 3°³ÀÇ º¯¼ö·Î µÈ ºñ½ÁÇÑ ±¸Á¶¸¦ °¡Áø´Ù:
ƼŬ¿¡¼ ¸í·É¾î ¶óÀÎ Àμö¿¡ Á¢±ÙÇÏ´Â ¿¹Á¦´Â ´ÙÀ½°ú °°´Ù:
puts "the command was: $argv0" puts "The first argument was: [lindex $argv 0]"
¶Ç ´Ù½Ã ¿©·¯ºÐÀº ÀÌ°ÍÀ» ½ºÅ©¸³Æ®·Î ¿î¿µÃ¼Á¦ÀÇ ¸í·É¾î ÇÁ·ÒÇÁÆ®¿¡¼ ½ÇÇà ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ±×¸®°í ¾à°£ÀÇ »ùÇà Àμö¸¦ Á¦°øÇؾßÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
ƼŬÀº 'input'°ú µ¿µîÇÑ °ÍÀ» °¡Áö°í ÀÖÁö ¾ÊÀº °Í °°¾Æ º¸À̸ç, º£ÀÌÁ÷Àº argv¿Í µ¿µîÇÑ °ÍÀ» °¡Áö°í ÀÖÁö ¾ÊÀº °Í °°ÀÌ º¸ÀδÙ. ¿î¿µÃ¼Á¦ÀÇ ´É·ÂÀ» »ç¿ëÇÏ¿© ±×°Íµé¿¡°Ô Á¢±ÙÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù°í ÇÒÁö¶óµµ - ¿¹¸¦ µé¾î ±×°ÍµéÀº µµ½º¿¡¼ ȯ°æ º¯¼ö¿¡ ÀúÀåµÈ´Ù. ±×·¡¼ ¿©·¯ºÐÀº GETENV ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¸Áö¸¸ ±×°ÍÀº ÀÌ °Á¸¦ ³Ê¹« ³Ñ¾î¼´Â °ÍÀÌ´Ù ±×¸®°í ³ª´Â º£ÀÌÁ÷ ÇÁ·Î±×·¥¿¡¼ ¿©·¯ºÐÀÌ »ç¿ëÀÚ¿¡°Ô ´ëÈÀûÀ¸·Î ±× °ªÀ» ¿ä±¸Çϱ⸦ ÃßõÇÑ´Ù.
±×°ÍÀÌ ½ÇÁ¦·Î ÀÌ °Á¿¡¼ ¿ì¸®°¡ »ç¿ëÀÚ ÀÔ·ÂÀ¸·Î ÁøÇàÇÒ °ÍÀÌ´Ù. ±×°ÍÀº ´ë´ÜÈ÷ ±âÃÊÀûÀÌÁö¸¸ ¿©·¯ºÐÀº ±×°ÍÀ¸·Î À¯¿ëÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. À¯´Ð½º ȤÀº ÇǾ¾ÀÇ ÃÊâ±â¿¡´Â ±×°ÍÀÌ ¿ÀÁ÷ ¿©·¯ºÐÀÌ °¡Áú ¼ö ÀÖ´Â À¯ÀÏÇÑ ´ëȹæ½ÄÀ̾ú´Ù. ÆÄÀ̽ã, ƼŬ, ±×¸®°í º£ÀÌÁ÷Àº ¸ðµÎ ('´«¿¡ º¸ÀÌ´Â' ½ÇÇöÀ¸·Î) À©µµ¿ì, ´ëÈ»óÀÚ µîµîÀÇ º¹ÀâÇÑ GUI ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù... ±×·¯³ª ±×°ÍÀº ÀÌ°Á¸¦ ¾à°£ ³Ñ¾î¼´Â °ÍÀÌ´Ù. »ç·Ê ¿¬±¸°¡ ÆÄÀ̽㿡¼ GUI¸¦ ÅëÇÏ¿© ÀÔ·ÂÀ» ¹Þ´Â ª¸·ÇÑ ¿¹Á¦¸¦ Á¦°øÇÑ´Ù°í ¸»ÇßÁö¸¸ ¿ì¸®´Â ±×°ÍÀÌ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö¿¡ °üÇؼ´Â ´õ ÀÌ»ó ¼³¸íÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ ÇٽɵéÀ§¿¡ ÈǸ¢ÇÑ ±âÃʸ¦ ȹµæÇÑ´Ù¸é, ±×°ÍÀ» Çϱâ À§ÇÑ À¥ Áöħ¼µéÀÌ »ç¿ë°¡´ÉÇÏ´Ù. ³ª´Â ±×µé Áß ¾à°£À» ÂüÁ¶ ÆäÀÌÁö¿¡¼ ³ª¿ÇÒ °ÍÀÌ´Ù.
±â¾ïÇؾßÇÒ ¿äÁ¡ |
---|
|
Previous  Next  Contents
ÀÌ ÆäÀÌÁö¿¡ ´ëÇÏ¿© Áú¹®À̳ª Á¦¾È»çÇ×ÀÌ ÀÖÀ¸¸é ´ÙÀ½ ÁÖ¼Ò·Î ³ª¿¡°Ô ÀüÀÚ¸ÞÀÏÀ» º¸³»¶ó:
agauld@crosswinds.net