5.1. ¸ðµâÀ̶õ?

(¾´ ³¯:2001-06-04)

ÁÁÀº ¾ÆÄ§À̳׿ä~.

Àúµµ µåµð¾î Áã Ã¥(Learning Python)À» »ò´ä´Ï´Ù~.

¾ÆÁ÷ Ã¥µµ ¾ø¾ú´Ù´Ï¡¦ ³î·¡¼ÌÁÒ?^^;

»ç½Ç ±× µ¿¾ÈÀº ÀÎÅͳݿ¡ ÁÁÀº ÀÚ·á°¡ ¸¹¾Æ¼­ ±»ÀÌ Ã¥À» »ì Çʿ伺À» ¸ø ´À²¼°Åµç¿ä.

ÇÏÁö¸¸, Á¦°¡ ¿©·¯ºÐ²² ¿Ã¹Ù¸¥ ¹æÇâÀ» ¾Ë·Áµå¸®·Á¸é °øºÎ¸¦ ´õ ¸¹ÀÌ ÇØ¾ß°Ú´õ¶ó±¸¿ä.

¾ÕÀ¸·Î ´õ¿í ¿­½ÉÈ÷ ÇØº¼¶ø´Ï´Ù.

ÀÌÁ¦ Ã¥¿¡¼­ ±Ã±ÝÇÑ °Íµµ ¹°¾îº¸¼¼¿ä~.

 

±â³ª±ä ÀڷᱸÁ¶ ºÎºÐÀÌ µåµð¾î ³¡³µÁÒ?

Á» Áö·çÇϼÌÀ¸¸®¶ó´Â »ý°¢ÀÌ µé±ä ÇÏÁö¸¸, ÄÄÇ»ÅÍ¿¡ À־ ÀڷᱸÁ¶ÀÇ Á߿伺Àº Àý´ëÀûÀ̶ó°í ÇÒ¸¸Å­ Å©´ä´Ï´Ù.

½ºÅðú Å¥ÀÇ °³³äÀÌ ÀÛ°Ô´Â CPU ³»ÀÇ ±â¾ïÀå¼Ò¿¡¼­ºÎÅÍ, Å©°Ô´Â ÆÄÀÏ, µ¥ÀÌÅͺ£À̽º, Àüü ½Ã½ºÅÛ¿¡±îÁö µÎ·ç Àû¿ëµÈ´Ù°í ÇÏ´Ï±î Æ´Æ´È÷ °øºÎÇØµÎ½Ã¸é ÁÁ°Ú³×¿ä.

 

¿ì¸®°¡ Áö±Ý±îÁö´Â È¥ÀÚ¼­ º¯¼ö, ÇÔ¼ö¸¦ ¸¸µé¾î ¾²¸é¼­ ÀÚ±ÞÀÚÁ·ÇÏ´Â ¹æ¹ýÀ» ¹è¿ü´Ù°í ÇÑ´Ù¸é, ÀÌÁ¦ºÎÅÍ´Â ³²ÀÌ ¸¸µé¾î ³õÀº ºÎǰÀ» °¡Á®´Ù°¡ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¹è¿ï Â÷·ÊÀÔ´Ï´Ù.

 

¿ì¸®°¡ º¹ÀâÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱâ À§Çؼ­ ÇÊ¿äÇÑ ¸ðµç °úÁ¤À» Á÷Á¢ ¸¸µé¾î¾ß ÇÑ´Ù¸é ¾î¶² ¸ð½ÀÀÌ µÉ±î¿ä?

ÀüüÀûÀÎ ¸ð½À¿¡¼­ºÎÅÍ ÀÛÀº ±â´É ÇϳªÇϳª±îÁö ¸ðµÎ ±¸»óÇØ¼­, ¸¸µé°í, ¿À·ù¸¦ ¼öÁ¤Çؼ­ ÇÑ °÷¿¡ ¸ð¾ÆµÎ¸é ¶Ç ¿À·ù°¡ »ý±â°í¡¦

´õ±¸³ª, ¶Ç ´Ù¸¥ ÇÁ·Î±×·¡¸Ó´Â ³ª¿Í ºñ½ÁÇÑ ±â´ÉÀ» ÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¸é¼­ ¶È°°Àº ½ÃÇàÂø¿À¸¦ ´ä½ÀÇÒÅ×±¸¿ä.

 

±×·¡¼­, ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ¸ðµç ÇÁ·Î±×·¡¹Ö ¾ð¾îµé(Á¦°¡ ¾Æ´Â ÇÑ)Àº ¸ðµâÀ̶ó´Â °³³äÀ» »ç¿ëÇÕ´Ï´Ù.

¸ðµâÀº ÇÁ·Î±×·¥ÀÇ ²Ù·¯¹Ì¶ó°í »ý°¢ÇÏ½Ã¸é µÇÁö¿ä.

¿¹¸¦ µé¾î, ¸¸¾à ÀÛ¼ºÇÒ ÇÁ·Î±×·¥¿¡ ¼öÇÐÀûÀÎ °è»ê ±â´ÉÀÌ ÇÊ¿äÇÏ´Ù¸é math¶ó´Â ¸ðµâÀ» ºÒ·¯¿Í¼­ »ç¿ëÇÏ½Ã¸é µË´Ï´Ù.

 

>>> import math                                # math ¸ðµâÀ» ºÒ·¯¿Â´Ù

>>> math.pi                            # math ¸ðµâÀÇ º¯¼ö piÀÇ °ªÀº?

3.1415926535897931

 

À§¿¡¼­´Â ¼öÇÐÀûÀÎ °è»ê¿¡ ÇÊ¿äÇÑ °ÍµéÀ» ¸ð¾ÆµÐ math ¸ðµâÀ» ºÒ·¯¿Â ´ÙÀ½, math ¸ðµâ ³»¿¡ Á¤ÀǵǾî ÀÖ´Â pi º¯¼ö¸¦ »ç¿ëÇß½À´Ï´Ù. pi´Â ¿øÁÖÀ²À» ¶æÇÏÁö¿ä.

 

À̹ø¿¡´Â ´Þ·ÂÀ» ºÒ·¯º¼±î¿ä? µü µÎ ÁÙ¸¸ Ä¡¸é µË´Ï´Ù.

 

>>> import calendar

>>> calendar.prmonth(2001, 6)

      June 2001

Mo Tu We Th Fr Sa Su

             1  2  3

 4  5  6  7  8  9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30

 

ÈǸ¢ÇÏÁÒ?

À̹ø¿¡´Â ´õ¿í ÈǸ¢ÇÑ °ÍÀ» º¸·Áµå¸®Áö¿ä.

 

>>> from Tkinter import *

>>> widget = Label(None, text='I love Python!')

>>> widget.pack()

 

¾û¡¦ ¹¹°¡ Áö³ª°¬³Ä¡¦

 

ÀÌ·¸°Ô ÆÄÀ̽㿡¼­´Â ÁÁÀº ±â´ÉµéÀ» ¸ðµâ·Î ¹­¾î¼­ ÀÚüÀûÀ¸·Î Á¦°øÇØ ÁØ´ä´Ï´Ù.

ÆÄÀ̽㠻Ӹ¸ÀÌ ¾Æ´Ï¶ó ´ëºÎºÐÀÇ ¾ð¾î¿¡¼­ ÀÌ·± ½ÄÀ¸·Î ÇÁ·Î±×·¡¹ÖÀ» Æí¸®ÇÏ°Ô ÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇØÁÖÁö¿ä.

 

±×·³ ¸ðµâÀ» ¾î¶»°Ô ¸¸µé°í ºÒ·¯¿À´ÂÁö ¾Ë¾Æº¾½Ã´Ù.

ÆÄÀ̽ãÀÌ ¼³Ä¡µÈ °æ·Î(Àú´Â D:\Python21)¿¡ º¸¸é Lib¶ó´Â Æú´õ°¡ ÀÖ½À´Ï´Ù.

°Å±â¼­ calendar.py ÆÄÀÏÀ» ÅØ½ºÆ® ¿¡µðÅÍ·Î ¿­¾îº¸¼¼¿ä. ÅØ½ºÆ® ¿¡µðÅͶó ÇÔÀº ¹Ù·Î ¡®¸Þ¸ðÀ塯 °°Àº ÇÁ·Î±×·¥À» ¸»ÇÏÁö¿ä.^^

 

¿©·¯ºÐÀº Áö±Ý calendar ¸ðµâÀ» º¸°í °è½Ê´Ï´Ù.

óÀ½¿¡ Calendar printing functionsÀ̶ó°í Á¦¸ñ°ú ¸ðµâÀÇ ¾²ÀÓ»õ°¡ ¼³¸íµÇ¾î ÀÖ±¸¿ä, ±× ´ÙÀ½¿¡´Â º¯¼öµéÀÇ ÀÇ¹Ì¿Í º¯¼ö Á¤Àǰ¡ ÂÞ¿í ³ª¿­µÇ¾î ÀÖÁö¿ä. ÇÑÂü ³»·Á°¡½Ã¸é ÇÔ¼öµéµµ º¸ÀÔ´Ï´Ù.

 

±× Áß¿¡¼­ isleap() ÇÔ¼ö¸¦ ã¾Æº¸¼¼¿ä. ¡®Ã£±â¡¯ ±â´ÉÀ» »ç¿ëÇϽô °ÍÀÌ Æí¸®ÇϰÚÁÒ?

 

def isleap(year):

    """Return 1 for leap years, 0 for non-leap years."""

    return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)

 

ÀÌ ÇÔ¼ö´Â ÀÎÀÚ·Î ÀÔ·ÂµÈ ¿¬µµ°¡ À±³âÀÎÁö ¾Æ´ÑÁö¸¦ ¾Ë·ÁÁØ´Ù°í ¼³¸íÀÌ µÇ¾î ÀÖ±¸¿ä, ¾Æ·¡ÀÇ ½ÄÀº À±³âÀ» °è»êÇØ¼­ 1 ¶Ç´Â 0À¸·Î °á°ú¸¦ µ¹·ÁÁÝ´Ï´Ù.

´Ù½Ã ÆÄÀ̽ã ÀÎÅÍÇÁ¸®ÅÍ·Î µ¹¾Æ¿Í¼­ ÀÌ ÇÔ¼ö¸¦ Å×½ºÆ® ÇØº¾½Ã´Ù.

¾Æ±î ´Þ·Â Å×½ºÆ®¸¦ ¾ÈÇØº¸½Å ºÐÀº import calendar ºÎÅÍ ÇÏ½Ã°í ¾Æ·¡¸¦ µû¶óÇØº¸¼¼¿ä.

 

>>> calendar.isleap(2000)             # calendar ¸ðµâÀÇ isleap ÇÔ¼ö¸¦ È£Ãâ

1

>>> calendar.isleap(2001)

0

 

ÀÌÁ¦ ¸ðµâÀÌ ¾î¶»°Ô ¸¸µé¾îÁ³´ÂÁö °¨ÀÌ ÀâÈ÷½ÃÁö¿ä?

¸ðµâ¿¡ ³Ö°í ½ÍÀº º¯¼ö¿Í ÇÔ¼öµéÀ» py ÆÄÀÏ·Î ¸¸µé¾î µÎ¸é µÇ´Â °ÅÁÒ.

¸ðµâÀ» »ç¿ëÇÒ ¶§´Â ¡®import ¸ðµâÀ̸§¡¯ÀÇ ÇüÅ·ΠºÒ·¯µÎ°í, ¡®¸ðµâÀ̸§.ÇÔ¼ö¡¯ Çü½ÄÀ¸·Î È£ÃâÇϱ¸¿ä.

º¯¼öµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù. ÀÌ·± Áþ ÇØµµ µÇ³ª ¸ô¶ó¡¦

 

>>> calendar.February

2

>>> calendar.February = 3

>>> calendar.February

3

 

¿À´Ãµµ ÆÄÀ̽ãÀ» °®°í Àç¹ÌÀÖ°Ô ³î¾Æº¸¾Ò½À´Ï´Ù.

¸ðµâÀ» Àß µé¿©´Ù º¸¸é ¹è¿ï °ÍÀÌ ¸¹À» °Í °°±º¿ä.

³»ÀÏ ¶Ç ¸¸³ª¿ä~.