ID:
PW:

     0 ºÐ
     16 ºÐ

¿£Áö´Ï¾î µ¹Á¾
  dolljong
ÇÁ·Î±×·¡¹Ö Tips
ÇÁ·Î±×·¡¹Ö¿¡ °üÇÑ TipÀ» °øÀ¯ÇÏ´Â °÷ÀÔ´Ï´Ù.


[python](¿£Áö´Ï¾î¸¦ À§ÇÑ) ÆÄÀ̽㠽ÃÀÛÇϱâ[8]¸ðµâ
À̼®Á¾  2022-09-04 21:41:02, Á¶È¸ : 659, Ãßõ : 67
- Download #1 : engpython8.png (13.2 KB), Download : 17


(¿£Áö´Ï¾î¸¦ À§ÇÑ) ÆÄÀ̽㠽ÃÀÛÇϱâ[8]

 

³»¿ë : ¸ðµâ, ÆÐŰÁö

ÂüÁ¶ :  https://wikidocs.net/29 (¸ðµâ), https://wikidocs.net/1418 (ÆÐŰÁö)

 

 

 

0.½ÃÀÛÇϸç

ÆÄÀ̽ãÀº »ç¶÷µéÀÌ ¸¸µé¾î¼­ °øÀ¯ÇÑ ¸ðµâ°ú ÆÐŰÁöµéÀÌ °­·ÂÇÑ ÈûÀ» ¹ßÈÖÇÑ´Ù. ÆÄÀ̽ãÀ» ¡®glue language¡¯¶ó°í ºÎ¸£´Â ÀÌÀ¯´Â Ǯó·³ ¼­·Î ´Ù¸¥ ¾ð¾î¸¦ ºÙ¿©ÁÙ ¼ö Àֱ⠶§¹®À̶ó°í ÇÑ´Ù. C·Î ¸¸µé¾îÁø ¶óÀ̺귯¸®¸¦ python¿¡ ºÙ¿©¼­ ¾µ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù.

 

1. ¸ðµâ(Module)°ú ÆÐŰÁö(Package)

µÑÀÇ Â÷ÀÌ´Â °£´ÜÇÏ´Ù. moduleÀº .pyÆÄÀÏÀÌ´Ù. package´Â .pyµéÀ» ¸ð¾Æ³õÀº µð·ºÅ丮¶ó°í »ý°¢ÇÏ¸é µÈ´Ù.

¸ðµâ : .pyÆÄÀÏ. ¿¹: rc_work.py ö±ÙÄÜÅ©¸®Æ®¿¡ °ü°èµÈ ÇÔ¼öµéÀÌ Á¤ÀÇÇÑ ÆÄÀÏ.

   ¡æ ¸ðµâ¸í : rc_work

ÆÐŰÁö : directoryÀ̸§ÀÌ´Ù. ¿¹: bridge_workÀ̶ó´Â µð·ºÅ丮¿¡ rc_work.py, steel_work.pyÀÌ ÀÖÀ» ¶§    ¡æ ÆÐŰÁö¸í: bridge_work

 

ÆÄÀÏ´ÜÀ§ÀÇ ¸ðµâºÎÅÍ ¾Ë¾Æº¸ÀÚ.

 

2. ¸ðµâ(module)

ÀÏ´Ü ÆÄÀ̽ãÀÌ Á¦°øÇϰųª ³²ÀÌ ¸¸µé¾î ³õÀº ¸ðµâÀ» ³»°¡ ºÒ·¯´Ù ¾²´Â ¹ýºÎÅÍ ¹è¿öº¸ÀÚ. ÀÎÅÍÇÁ¸®ÅÍ »óÅ¿¡¼­ »çÀΰªÀ» ±¸Çغ¸ÀÚ. sin(3.14)¸¦ ±¸Çغ¸ÀÚ. sinÀÌ Á¤ÀǵǾî ÀÖÁö ¾Ê´Ù°í ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.

>>> sin(3.14)
Traceback (most recent call last):                         [wheel
-0.37.0-py3.9.egg-info
  File
"", line 1, in
NameError: name
'sin' is not defined                       whichcraft.py

 

sinµµ Áö¿ø¾ÈµÇ´Â ¾ð¾î°¡ ÀÖ³ª? ±×·¸´Ù (±âº»ÀûÀ¸·Î) Áö¿ø ¾ÈµÈ´Ù. sinÀ» ¾²±â À§Çؼ­´Â math¶ó´Â ¸ðµâÀ» ºÒ·¯¿Í¾ß ÇÑ´Ù.

 

math¶ó´Â ¸ðµâÀ» ºÒ·¯¿À´Â ¹æ¹ýÀº ¾Æ·¡¿Í °°´Ù. ÀÎÅÍÇÁ¸®ÅÍ »óÅ¿¡¼­ Å×½ºÆ®Çغ¸ÀÚ.

>>> import math
>>>

 

¾Æ¹« Àϵµ ¾È ¹ú¾îÁ³Áö¸¸ math ¸ðµâÀÌ importµÈ °ÍÀÌ´Ù. ÀÌÁ¦ math¸ðµâ¿¡ Æ÷ÇÔµÈ ÇÔ¼öµéÀ» ¾µ ¼ö ÀÖ´Ù. ±×·³ sinÇÔ¼ö¸¦ ½áº¸ÀÚ.

>>> import math
>>> sin(3.14)
Traceback (most recent call last):
  File
"", line 1, in
NameError: name
'sin' is not defined

 

¿©ÀüÈ÷ ¿¡·¯°¡ ¹ß»ýÇÑ´Ù. error³»¿ëÀ» Àо´Ï not defined¶ó´Â ¹®±¸°¡ º¸ÀδÙ. Á¤ÀÇ µÇÀÖÁö ¾Ê´Ù´Â °ÍÀÌ´Ù.

import·Î ºÒ·¯¿Â ¸ðµâ¿¡ ¼ÓÇÑ ÇÔ¼ö¸¦ ¾²·Á¸é ¸ðµâ¸í.ÇÔ¼ö¸í ÀÌ·¸°Ô ½áÁà¾ß ÇÑ´Ù.

>>> math.sin(3.14)
0.0015926529164868282

 

math¸ðµâ ¾È¿¡´Â sin°ú °°Àº ÇÔ¼ö¸¸ ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó »ó¼öµµ Á¤ÀÇ µÇ¾îÀÖ´Ù. Á¤¹ÐÇÑ ¥ð°ªÀ» ¾²±â À§ÇØ math.pi¸¦ ¾²¸é µÈ´Ù. »ó¼ö¸í¿¡´Â ()°¡ ¾ø°í ÇÔ¼ö¸¦ ºÒ·¯¿Ã ¶§´Â ()¸¦ ºÙÀδٴ °ÍÀ» ±â¾ïÇÏÀÚ. pi °ª°ú ÀÚ¿¬»ó¼ö e°ªÀ» ±¸Çغ¸ÀÚ.

>>> math.pi
3.141592653589793
>>> math.e
2.718281828459045

 

-        ¸ðµâ¿¡ Æ÷ÇÔµÈ ÇÔ¼ö ¾Ë¾Æº¸±â(dir)

            dir(¸ðµâ¸í)

¸ðµâ ¾È¿¡ ¾î¶² ÇÔ¼öµéÀÌ µé¾î ÀÖÀ»±î? ¾Ë¾Æ º¼ ¼ö ÀÖÀ¸¸é ÁÁÁö ¾ÊÀ»±î? dirÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. sin, log, degrees, radians ÇÔ¼ö µîÀÌ º¸ÀδÙ. e³ª pi°°ÀÌ ÇÔ¼ö°¡ ¾Æ´Ñ »ó¼öµµ ÀÖ´Ù´Â °É ¾Ë ¼ö ÀÖ´Ù. degrees´Â radianÀ» degree·Î ¹Ù²ãÁÖ´Â ÇÔ¼ö°í radians´Â degree¸¦ radianÀ¸·Î ¹Ù²ãÁÖ´Â ÇÔ¼ö´Ù. ¿£Áö´Ï¾îµéÀº ÀÌ ÇÔ¼öµéÀ» ¸¹ÀÌ ¾µ °ÍÀÌ´Ù.

>>> dir(math)
[
'__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc', 'ulp']

 

-        ¸ðµâ¿¡ Æ÷ÇÔµÈ ÇÔ¼ö »ç¿ë¹ý ¾Ë¾Æº¸±â(help)

         help(ÇÔ¼ö¸í)

À§ÀÇ math¸ðµâÀÇ ÇÔ¼öÁß¿¡ distÇÔ¼ö°¡ ÀÖ´Ù. ¾Æ¸¶µµ ÁÂÇ¥ µÎ°³¸¦ ÁÖ¸é ±× µÎ ÁÂÇ¥»çÀÌÀÇ °Å¸®¸¦ ±¸ÇØÁÙ °Í °°´Ù. »ç¿ë¹ýÀ» ¾Ë¾Æº¸±â À§Çؼ­ help(math.dist)¸¦ Ãĺ¸ÀÚ. µÎ Á¡Àº sequenceÇüÅÂ(list) ¶Ç´Â iterables¿©¾ß ÇÑ´Ù´Â µµ¿ò¸»À» º¼ ¼ö ÀÖ´Ù. °è»êÀÌ ¾î¶»°Ô µÇ´ÂÁöµµ ¼³¸íµÇ¾îÀÖ´Ù.

>>> help(math.dist)
Help on built-
in function dist in module math:

dist(p, q, /)
    Return the Euclidean distance between two points p
and q.

    The points should be specified
as sequences (or iterables) of
    coordinates.  Both inputs must have the same dimension.

    Roughly equivalent to:
        sqrt(sum((px - qx) **
2.0 for px, qx in zip(p, q)))

 

math¸ðµâÀÇ distÇÔ¼ö¸¦ Å×½ºÆ®Çغ¸ÀÚ. p [0,0,0]¿Í qÀÇ [1,1,1]°Å¸®´Â 1.732À¸·Î °è»êµÆ´Ù.

>>> math.dist([0,0,0],[1,1,1])
1.7320508075688772

 

 

Built in module

math¸ðµâó·³ º°µµÀÇ ¼³Ä¡ ¾øÀÌ importÇØ¼­ ¾µ ¼ö ÀÖ´Â ¸ðµâÀ» built in moduleÀ̶ó°í ºÎ¸¥´Ù. built in module¿¡´Â ¾î¶² °ÍµéÀÌ ÀÖÀ»±î? built in moduleÀÇ ¸ñ·ÏÀ» º¸·Á¸é sys¸ðµâÀ» importÇÑ ÈÄ sys.builtin_module_names¶ó°í ÀÔ·ÂÇØº¸ÀÚ. ¸ñ·ÏÀÌ ³ª¿Â´Ù. math¿Í sys, timeµîÀ» º¼ ¼ö ÀÖ´Ù. ¸ðµâµéÀ» ´Ù ±â¾ïÇÒ ÇÊ¿ä´Â ¾ø´Ù. ÄÚµùÇÏ´Ù°¡ ÇÊ¿äÇÑ ÇÔ¼ö³ª ±â´ÉÀ» ±¸±Û¸µÀ¸·Î ã¾Æº¸¸é µÈ´Ù.

-        built in module ¸ñ·Ï º¸±â

sys.builtin_module_names

>>> import sys
>>> sys.builtin_module_names
(
'_abc', '_ast', <Áß°£»ý·«> , 'math', <Áß°£»ý·«> 'sys', 'time', <»ý·«>)

 

Module ºÒ·¯¿À´Â ¹æ¹ý

¸ðµâÀ» ºÒ·¯¿À´Â ¹æ¹ýÀº ¸î°¡Áö ÀÖ´Ù. ¾Æ·¡ÀÇ ¿¹¸¦ º¸ÀÚ.

import math

from math import sin, cos, tan

from math import *

ù¹øÂ° ¹æ¹ýÀº Áö±Ý±îÁö ¾Ë¾Æº» °¡Àå ÀϹÝÀûÀÎ ¹æ¹ýÀÌ´Ù. ÀÌ·¸°Ô ºÒ·¯ ¿À¸é ¸ðµâ¡®m.ÇÔ¼ö¸í()°ú °°Àº ¹æ¹ýÀ¸·Î ÇÔ¼ö¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. math.sin(1.0)ÀÌ·¸°Ô ¸»ÀÌ´Ù.

µÎ¹øÂ° ¹æ¹ýÀº from Ű¿öµå¸¦ ½á¼­ module³»¿¡¼­ ºÒ·¯¿À°í ½ÍÀº ÇÔ¼ö³ª »ó¼öÀ̸§¸¸ ½áÁÖ´Â °ÍÀÌ´Ù. fromÀ» ÀÌ¿ëÇØ¼­ importÇÏ¸é ¸ðµâ¸í ¾øÀÌ sin(1.0)°ú °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

¼¼¹øÂ° ¹æ¹ý(from math import *)Àº math¸ðµâ ³»ÀÇ ¸ðµç ÇÔ¼ö(»ó¼ö)¸¦ importÇÏ´Â °ÍÀÌ´Ù. µÎ¹øÂ° ¹æ¹ý°ú ¸¶Âù°¡Áö·Î ¸ðµâ¸í ÁöÁ¤ ¾øÀÌ sin(1.0)À» Á÷Á¢ ¾µ¼ö ÀÖ´Ù.

>>> from math import sin,cos,tan
>>> tan(1.0)
1.5574077246549023
>>> math.tan(1.0)
Traceback (most recent call last):
  File
"", line 1, in
NameError: name
'math' is not defined

 

À§ÀÇ ¿¹¸¦ º¸¸é fromÀ» ÀÌ¿ëÇØ¼­ »ï°¢ÇÔ¼ö ¼¼°³¸¦ importÇß´Ù. sin(1.0)´Â Á¦´ë·Î ÀÛµ¿Çϴµ¥ math.sin(1.0)Àº Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.  ¸ðµâ¸í ¾øÀÌ ¾µ ¼ö ÀÖ´Â µÎ¹øÂ°¿Í ¼¼¹øÂ° ¹æ¹ýÀÌ ÆíÇÒ°Í °°Àºµ¥ ´ëºÎºÐ ¸ðµâ¸íÀ» ¾Õ¿¡´Ù ½áÁִ ù¹øÂ° ¹æ¹ýÀ» ¾´´Ù. ¸ðµâ¸íÀ» ¸íÈ®ÇÏ°Ô ÇÏ·Á´Â °ÍÀÌ´Ù.  

[8-1]¿¡ °è¼Ó 



À̼®Á¾
ÆÐŰÁö´Â [8-1]¿¡¼­ °è¼ÓµË´Ï´Ù. 2022-09-04
21:47:48

 


  ÃßõÇÏ±â   ¸ñ·Ïº¸±â

Copyright 1999-2023 Zeroboard / skin by zero
±¸Á¶¼³°èÀÇ ¹Ì·¡¸¦ ÁغñÇÏ´Â ¸ðÀÓ [±¸Á¶¼³°è¹Ì·¡Æ÷·³]