»ç¿ëÀÚ¿Í ´ëÈ­Çϱâ

¿ì¸®´Â ¹«¾ùÀ» ´Ù·ê °ÍÀΰ¡?
»ç¿ëÀÚ¿¡°Ô µ¥ÀÌŸ¸¦ ÀÔ·ÂÇϵµ·Ï ¿äûÇÏ´Â ¹ý
±×¸®°í ÀÏ´Ü ÀÔ·ÂµÈ µ¥ÀÌŸ¸¦ Àд ¹ý
¿ì¸®´Â ¼öÄ¡ ±×¸®°í ¹®ÀÚ¿­¿¡ ±âÃÊÇÑ µ¥ÀÌŸ¸¦ Àд ¹ýÀ» º¸¿© ÁÙ °ÍÀÌ´Ù.
¶ÇÇÑ ¿ì¸®´Â ¸í·É¾î ¶óÀÎÀÇ Àμö·Î ÀÔ·ÂµÈ µ¥ÀÌŸ¸¦ Àд ¹ýÀ» »ìÆì º¼ °ÍÀÌ´Ù.

Áö±Ý±îÁö ¿ì¸®ÀÇ ÇÁ·Î±×·¥Àº Á¤ÀûÀÎ µ¥ÀÌŸ¸¸À» ´Ù·ç¾î ¿Ô´Ù. ÇÊ¿äÇÏ´Ù¸é, ¿ì¸®´Â ±×°ÍÀ» ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ±â Àü¿¡ Á¶»çÇÒ ¼ö ÀÖ°í ±×·±½ÄÀ¸·Î ÇÁ·Î±×·¥À» ÀûÀýÇÏ°Ô ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. ´ëºÎºÐÀÇ ÇÁ·Î±×·¥Àº ±×·¸Áö ¾Ê´Ù. ´ëºÎºÐÀÇ ÇÁ·Î±×·¥Àº »ç¿ëÀÚ°¡ ÁÖµµÇØÁֱ⸦ ¿¹»óÇϸç, Àû¾îµµ ¹«½¼ÆÄÀÏÀÌ ¿­¸®°í, ¾î¶² ÆÄÀÏÀ» ÆíÁýÇÒ °ÍÀΰ¡ µîµî±îÁö´Â Áö½ÃÇØ ÁÖ¾î¾ß ÇÑ´Ù. ¶Ç ´Ù¸¥ ÇÁ·Î±×·¥µéÀº »ç¿ëÀÚ¿¡°Ô »ó¼¼ÇÑ µ¥ÀÌŸ¸¦ ¿ä±¸ÇÑ´Ù. ¿ì¸®°¡ ´õ ÀÌ»ó ³ª¾Æ°¡±â Àü¿¡ ¾î¶»°Ô ±×°ÍÀÌ °¡´ÉÇÑÁö ¾Ë¾Æº¸ÀÚ.

>>> print raw_input("Type something: ")

¿©·¯ºÐÀÌ º¸µíÀÌ 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)

BASIC INPUT

º£ÀÌÁ÷¿¡¼­ 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 ¼­¼ú¹®¿¡´Â º¸Åë ¸î°³ÀÇ Ãß°¡ÀûÀÎ »ç¾çÀÌ ÀÖ´Ù. ¿©·¯ºÐ¸¸ÀÇ Æ¯º°ÇÑ ¸ñÀûÀ» À§ÇÏ¿© ¿©·¯ºÐÀº ¹®¼­¸¦ ÂüÁ¶ÇÏ¿©¾ß ÇÑ´Ù.

Tcl¿¡¼­ ÀÔ·ÂÀ» Àбâ

ƼŬÀº ÀڽŸ¸ÀÇ ÀÔ·Â ¸ÞÄ«´ÏÁòÀ» °¡Áö°í ÀÖ´Ù, ±×°ÍÀº (Ç¥ÁØÀÔ·Â ±×¸®°í Ç¥ÁØÃâ·ÂÆÄÀÏÀ» Æ÷ÇÔÇÏ¿©) ÆÄÀϵé°ú 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>

TclÀÇ ¸í·É¾î ¶óÀÎ

ƼŬÀº 3°³ÀÇ º¯¼ö·Î µÈ ºñ½ÁÇÑ ±¸Á¶¸¦ °¡Áø´Ù:

  • argv0 - ¸í·É¾î À̸§,
  • argv - ¸í·É¾î ¶óÀο¡ ÀÖ´Â ³ª¸ÓÁö¸¦ ´ã°í ÀÖ´Â ¹®ÀÚ¿­
  • argc - ±×¸®°í argv ¿¡ ÀÖ´Â ´Ü¾îÀÇ °³¼ö¸¦ ´ã´Â´Ù

    ƼŬ¿¡¼­ ¸í·É¾î ¶óÀÎ Àμö¿¡ Á¢±ÙÇÏ´Â ¿¹Á¦´Â ´ÙÀ½°ú °°´Ù:

    puts "the command was: $argv0"
    puts "The first argument was:  [lindex $argv 0]"
    

    ¶Ç ´Ù½Ã ¿©·¯ºÐÀº ÀÌ°ÍÀ» ½ºÅ©¸³Æ®·Î ¿î¿µÃ¼Á¦ÀÇ ¸í·É¾î ÇÁ·ÒÇÁÆ®¿¡¼­ ½ÇÇà ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ±×¸®°í ¾à°£ÀÇ »ùÇà Àμö¸¦ Á¦°øÇؾßÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.

    ±×¸®°í BASIC

    ƼŬÀº 'input'°ú µ¿µîÇÑ °ÍÀ» °¡Áö°í ÀÖÁö ¾ÊÀº °Í °°¾Æ º¸À̸ç, º£ÀÌÁ÷Àº argv¿Í µ¿µîÇÑ °ÍÀ» °¡Áö°í ÀÖÁö ¾ÊÀº °Í °°ÀÌ º¸ÀδÙ. ¿î¿µÃ¼Á¦ÀÇ ´É·ÂÀ» »ç¿ëÇÏ¿© ±×°Íµé¿¡°Ô Á¢±ÙÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù°í ÇÒÁö¶óµµ - ¿¹¸¦ µé¾î ±×°ÍµéÀº µµ½º¿¡¼­ ȯ°æ º¯¼ö¿¡ ÀúÀåµÈ´Ù. ±×·¡¼­ ¿©·¯ºÐÀº GETENV ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¸Áö¸¸ ±×°ÍÀº ÀÌ °­Á¸¦ ³Ê¹« ³Ñ¾î¼­´Â °ÍÀÌ´Ù ±×¸®°í ³ª´Â º£ÀÌÁ÷ ÇÁ·Î±×·¥¿¡¼­ ¿©·¯ºÐÀÌ »ç¿ëÀÚ¿¡°Ô ´ëÈ­ÀûÀ¸·Î ±× °ªÀ» ¿ä±¸Çϱ⸦ ÃßõÇÑ´Ù.

    ±×°ÍÀÌ ½ÇÁ¦·Î ÀÌ °­Á¿¡¼­ ¿ì¸®°¡ »ç¿ëÀÚ ÀÔ·ÂÀ¸·Î ÁøÇàÇÒ °ÍÀÌ´Ù. ±×°ÍÀº ´ë´ÜÈ÷ ±âÃÊÀûÀÌÁö¸¸ ¿©·¯ºÐÀº ±×°ÍÀ¸·Î À¯¿ëÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. À¯´Ð½º ȤÀº ÇǾ¾ÀÇ ÃÊâ±â¿¡´Â ±×°ÍÀÌ ¿ÀÁ÷ ¿©·¯ºÐÀÌ °¡Áú ¼ö ÀÖ´Â À¯ÀÏÇÑ ´ëÈ­¹æ½ÄÀ̾ú´Ù. ÆÄÀ̽ã, ƼŬ, ±×¸®°í º£ÀÌÁ÷Àº ¸ðµÎ ('´«¿¡ º¸ÀÌ´Â' ½ÇÇöÀ¸·Î) À©µµ¿ì, ´ëÈ­»óÀÚ µîµîÀÇ º¹ÀâÇÑ GUI ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù... ±×·¯³ª ±×°ÍÀº ÀÌ°­Á¸¦ ¾à°£ ³Ñ¾î¼­´Â °ÍÀÌ´Ù. »ç·Ê ¿¬±¸°¡ ÆÄÀ̽㿡¼­ GUI¸¦ ÅëÇÏ¿© ÀÔ·ÂÀ» ¹Þ´Â ª¸·ÇÑ ¿¹Á¦¸¦ Á¦°øÇÑ´Ù°í ¸»ÇßÁö¸¸ ¿ì¸®´Â ±×°ÍÀÌ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö¿¡ °üÇؼ­´Â ´õ ÀÌ»ó ¼³¸íÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ ÇٽɵéÀ§¿¡ ÈǸ¢ÇÑ ±âÃʸ¦ ȹµæÇÑ´Ù¸é, ±×°ÍÀ» Çϱâ À§ÇÑ À¥ Áöħ¼­µéÀÌ »ç¿ë°¡´ÉÇÏ´Ù. ³ª´Â ±×µé Áß ¾à°£À» ÂüÁ¶ ÆäÀÌÁö¿¡¼­ ³ª¿­ÇÒ °ÍÀÌ´Ù.

    ±â¾ïÇؾßÇÒ ¿äÁ¡
    • ¼ýÀÚ¸¦ Àбâ À§Çؼ­´Â input À» »ç¿ëÇ϶ó, ¹®ÀÚ/¹®ÀÚ¿­À» Àбâ À§Çؼ­´Â raw_input À» »ç¿ëÇ϶ó.
    • input °ú raw_input ¸ðµÎ »ç¿ëÀÚ¿¡°Ô ÇÁ·ÒÇÁÆ®»óŸ¦ ¹®ÀÚ¿­À» Ãâ·ÂÇÏ¿© º¸¿©ÁÙ ¼ö ÀÖ´Ù.
    • BASICÀÇ INPUT ¸í·É¾î´Â ¾î¶°ÇÑ Á¾·ùÀÇ µ¥ÀÌŸ¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
    • ¸í·É¾î ¶óÀÎ ¸Å°³º¯¼ö´Â ÆÄÀ̽㿡¼­ sys ¸ðµâ·Î ºÎÅÍ ¼öÀÔµÈ argv ¸®½ºÆ®·ÎºÎÅÍ È¹µæµÉ ¼ö ÀÖÀ¸¸ç, °Å±â¿¡¼­ ù ¹ø° Ç׸ñÀº ±× ÇÁ·Î±×·¥ÀÇ À̸§ÀÌ´Ù.
    • ƼŬÀº ºñ½ÁÇÏ°Ô À̸§Áö¾îÁø argv ¸®½ºÆ®¸¦ »ç¿ëÇÏ¿© ¸í·É¾î ¶óÀÎ µ¥ÀÌŸ¸¦ ȹµæÇÑ´Ù, ±×·¯³ª ±× ÇÁ·Î±×·¥ÀÇ À̸§Àº º°°³ÀÇ argv0 ¿¡ Á¸ÀçÇÑ´Ù.
    • ±× ¸ðµâÀÌ ¸í·É¾î ¶óÀÎÀ¸·Î ºÎÅÍ ½ÇÇàµÈ´Ù¸é( ¶Ç´Â À©µµ¿ì¿¡¼­´Â ´õºí Ŭ¸¯µÇ¸é), __name__ º¯¼ö´Â "__main__" ¿¡ ¼³Á¤µÉ °ÍÀÌ´Ù.

    Previous  Next  Contents


    ÀÌ ÆäÀÌÁö¿¡ ´ëÇÏ¿© Áú¹®À̳ª Á¦¾È»çÇ×ÀÌ ÀÖÀ¸¸é ´ÙÀ½ ÁÖ¼Ò·Î ³ª¿¡°Ô ÀüÀÚ¸ÞÀÏÀ» º¸³»¶ó: agauld@crosswinds.net