[Python] ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ(Interperter) ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ

2025. 4. 17. 18:34ยท๐Ÿ› ๏ธBackend/โšกPython

1. ์ธํ„ฐํ”„๋ฆฌํ„ฐ(Interperter)

 - Interperter : "ํ†ต์—ญ์‚ฌ"๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ.

 - ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ํ•œ ์ค„์”ฉ ๋ฐ”๋กœ๋ฐ”๋กœ ์ฝ๊ณ  ํ†ต์—ญ์„ ํ•ด์„œ ์‹คํ–‰์„ ํ•ด์ค€๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ.

 - ์‰ฝ๊ฒŒ๋งํ•ด, ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰์ด ๋˜๋ฉด ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ•œ ์ค„์”ฉ ํ•ด์„ํ•ด์„œ ์‹คํ–‰์„ ํ•œ๋‹ค๋Š” ๋ง์ž„.

 - ์ƒ์ƒ์ด ์•ˆ๊ฐˆํ…Œ๋‹ˆ, ๋ฐ”๋กœ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์‹คํ–‰ ๊ณผ์ •์œผ๋กœ ์•Œ๋ ค์ฃผ๊ฒ ์Œ.

 


2. ํŒŒ์ด์ฌ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๊ณผ์ •

(1) ์†Œ์Šค์ฝ”๋“œ ์ž‘์„ฑ

 - .py ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง€๋Š” ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์˜๋ฏธํ•จ.

 

(2) ์†Œ์Šค์ฝ”๋“œ ์‹คํ–‰

 - ๋‚ด๋ถ€์ ์ธ ๋ช…๋ น์–ด python test.py -> test.py ํŒŒ์ด์ฌ ์ฝ”๋“œ ์‹คํ–‰

 

(3) ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์‹คํ–‰

 - ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์•ˆ์—๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์™€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ 2๊ฐœ๊ฐ€ ๋‚ด์žฅ์ด ๋˜์–ด์žˆ์Œ.

 

(4) ์ปดํŒŒ์ผ๋Ÿฌ ์‹คํ–‰ - ๋ฐ”์ดํŠธ์ฝ”๋“œ ๋ณ€ํ™˜

 - ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„  ๋ชจ๋“  ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ฝ์–ด ๊ตฌ๋ฌธ ๋ถ„์„, ์ฝ”๋“œ ๋ณ€ํ™˜(๋ฐ”์ดํŠธ์ฝ”๋“œ) ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 - ์†Œ์Šค์ฝ”๋“œ -> ๋ฐ”์ดํŠธ์ฝ”๋“œ(.pyc)๋กœ ๋ณ€ํ™˜

 - ์ด๋•Œ ๋งŒ๋“ค์–ด์ง€๋Š”, ๋ฐ”์ดํŠธ์ฝ”๋“œ์—๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ํ•œ ์ค„์”ฉ ํ•ด์„ํ•˜๊ธฐ ์ข‹๊ฒŒ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด ๋†“๋Š”๋‹ค.

 

(5) ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์‹คํ–‰ - ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์šด์˜์ฒด์ œ๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜

 - ์ปดํŒŒ์ผ์ด ๋œ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ, ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜์„ ํ•ด์ค€๋‹ค.

 - ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋กœ์จ, ํ•œ ์ค„์”ฉ ํ•ด์„ํ•˜๋ฉฐ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์šด์˜์ฒด์ œ๋กœ ๋„˜๊ฒจ์ฃผ๋ฉด, ์šด์˜์ฒด์ œ๊ฐ€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•จ.

 - ์šด์˜์ฒด์ œ๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ๋ณ€์ˆ˜๋‚˜, ๊ฐ์ฒด ๋“ฑ์˜ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•จ.

 - ์‚ฌ์‹ค์ƒ ๋ฐ”์ดํŠธ์ฝ”๋“œ์—๋Š” ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ด๋ฏธ ์ฝ”๋“œ๊ฐ€ ํ•œ์ค„์”ฉ ์ฝ๋„๋ก ํŽธํ•˜๊ฒŒ ์ •๋ฆฌ๊ฐ€ ๋˜์–ด์žˆ์Œ.

 - ์ฆ‰, ํ•œ ์ค„์”ฉ ์‹คํ–‰๋˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ์ฝ”๋“œ์˜ ๋…ผ๋ฆฌ์ ์ธ ํ๋ฆ„์„ ๋ฐ”ํƒ•์œผ๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ์ค‘๊ฐ„ ์ฝ”๋“œ๊ฐ€ ๋ฐ”์ดํŠธ ์ฝ”๋“œ์ธ ์…ˆ์ด๋‹ค.

 - ๋…ผ๋ฆฌ์ ์œผ๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์งง์€ ๋‹จ์œ„๋กœ ์ž˜๋ผ ๋†“์•˜๋Š”๋ฐ, ๊ทธ๊ฒƒ์ด ํ•œ ์ค„๋กœ ํ‘œํ˜„์ด ๋œ ๊ฒƒ์ด๋‹ค.

 - ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐ”์ดํŠธ์ฝ”๋“œ ๋…ผ๋ฆฌ์  ๋‹จ์œ„ -> ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๊ธฐ๊ณ„์–ด ๋ณ€ํ™˜ -> ์šด์˜์ฒด์ œ ์‹คํ–‰ ( ๋ฐ˜๋ณต์„ ํ•จ )

 

3. ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ํ•จ์ˆ˜์™€ ํด๋ž˜์Šค ์ฝ๊ธฐ

 - ๊ทธ๋ ‡๋‹ค๋ฉด, ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ํ•จ์ˆ˜์™€ ํด๋ž˜์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์ฝ์„๊นŒ?

 

(1) ํ•จ์ˆ˜

add(1, 2) # ์˜ค๋ฅ˜

def add(a, b):
  print(a + b)

add(1, 2) # ์ •์ƒ ์‹คํ–‰

 - ์˜ˆ์‹œ ์ฝ”๋“œ์™€ ๊ฐ™์ด ํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•˜๊ณ , ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ ์œ„์˜ add() ํ˜ธ์ถœ ๋ผ์ธ์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚  ๊ฒƒ์ด๋‹ค.

 - ๊ทธ ์ด์œ ๋Š”, ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ์œ„์—์„œ ์•„๋ž˜๋กœ ์ฝ๊ธฐ ๋•Œ๋ฌธ์— ์œ„์˜ add() ํ˜ธ์ถœ์„ ํ•˜๋ ค๊ณ  ํ•ด๋„ ๋ฉ”๋ชจ๋ฆฌ์— def ํ•จ์ˆ˜๊ฐ€ ์ •์˜๋˜์–ด์žˆ์ง€ ์•Š๊ธฐ๋•Œ๋ฌธ

 - ์ฆ‰, ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ์œ„์—์„œ ์•„๋ž˜๋กœ ์ฝ๋Š” ๊ณผ์ •์—์„œ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•œ ๋ถ€๋ถ„์„ ๋งŒ๋‚˜๊ฒŒ ๋˜๋ฉด, ํ•ด๋‹น ํ•จ์ˆ˜๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ์„ ํ•˜๊ฒŒ ๋œ๋‹ค.

 - ๊ทธ๋Ÿฌ๋‹ค ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ถ€๋ถ„์„ ๋งŒ๋‚˜๋ฉด ๊ธฐ์–ตํ•œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด ์ฝ”๋“œ๋ธ”๋ก์„ ์‹คํ–‰ํ•˜๋Š” ์›๋ฆฌ์ด๋‹ค.

 - ํด๋ž˜์Šค ๋˜ํ•œ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค.

 

(2) import

# test5.py
import test4
test4.add(1, 2)
# import test4 -> ์—๋Ÿฌ๋‚จ

# test4.py
def add(a, b):
  print(a + b)

 - ์ด๋ ‡๊ฒŒ import๋ฅผ ๋งจ ์œ„์— ์„ ์–ธํ•˜๋Š” ์ด์œ ๋„ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์˜ ๋™์ž‘ ์›๋ฆฌ ๋•Œ๋ฌธ์ธ ๊ฒƒ์ด๋‹ค.

 - ์ธํ„ฐํ”„๋ฆฌํ„ฐ์˜ ์˜ํ•ด ํ•ด๋‹น import ๋ผ์ธ์ด ์ฝํžˆ๊ฒŒ ๋˜๋ฉด, ํŒŒ์ผ(๋ชจ๋“ˆ)์˜ ๋‚ด์šฉ์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•˜๊ณ  ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

 - ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— import ๋ผ์ธ์ด ๋งจ์œ„์— ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ( ์ฐธ๊ณ ๋กœ ์•„๋ž˜์— ๋‘๊ณ  ํ•ด๋‹น ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์˜ค๋ฅ˜ )

 


4. ์ •๋ฆฌ

 - ์ •๋ฆฌ๋ฅผ ํ•˜๋ฉด, ํŒŒ์ด์ฌ์—์„œ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ํ•˜๋‚˜์˜ ํŒŒ์ด์ฌ ์–ธ์–ด๋กœ ๋งŒ๋“ค์–ด์ง„ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ์ž„.

 - ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์—๋Š” "์ปดํŒŒ์ผ๋Ÿฌ", "์ธํ„ฐํ”„๋ฆฌํ„ฐ" ๋‘ ๊ฐ€์ง€๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ์Œ. ์ฆ‰, ํŒŒ์ด์ฌ์€ ๋‘ ๊ฐ€์ง€๋ฅผ ๋™์‹œ์— ์ด์šฉ์„ ํ•จ.

 - ์ฆ‰, ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๋‹ค๋ฅด๊ฒŒ ํŒŒ์ด์ฌ์€ ์‹คํ–‰ ์‹œ, ์ธํ„ฐํ”„๋ฆฌํ„ฐ ํ•œ ๊ณณ์—์„œ ์ปดํŒŒ์ผ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋‘ ๊ฐ€์ง€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ์‹คํ–‰๋จ.

 - ์ž๋ฐ”๋ฅผ ์˜ˆ๋กœ ๋“ค๋ฉด, ์ž๋ฐ”๋Š” ์ปดํŒŒ์ผ ์‹œ .class ํŒŒ์ผ์„ ์ง์ ‘ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ฐ€ ํ•ด๋‹น ํŒŒ์ผ์„ JVM์— ๋„˜๊ฒจ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ž„.

 - ์ฐจ์ด๋ฅผ ๋ณด๋ฉด, ํŒŒ์ด์ฌ์€ .pyc ํŒŒ์ผ์„ ์ง์ ‘ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์‹คํ–‰์„ ์‹œํ‚ค๋Š” ๋А๋‚Œ์ด๋ผ ๋ณด๋ฉด๋ ๋“ฏ.

- ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์ž์ฒด์˜ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ธฐ ๋ณด๋‹ค๋Š”, ์ง์ ‘ ์–ธ์–ด๋ฅผ ์ด์šฉํ•ด ํ๋ฆ„์„ ๋ณด๋ฉด ์ƒ๊ฐ๋ณด๋‹ค ๋งค์šฐ ์‰ฌ์šด ๊ฐœ๋…์ž„.

'๐Ÿ› ๏ธBackend > โšกPython' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] 10๊ฐ• - ๊ฐ์ฒด์ง€ํ–ฅ  (1) 2025.04.18
[Python] 9๊ฐ• - ํ•จ์ˆ˜  (0) 2025.04.17
[Python] 7๊ฐ• - ๋ฐ˜๋ณต ๊ตฌ์กฐ  (0) 2025.04.17
[Python] 6๊ฐ• - ์„ ํƒ ๊ตฌ์กฐ  (0) 2025.04.16
[Python] 5๊ฐ• - ์ˆœ์ฐจ ๊ตฌ์กฐ ๋ฐ ์ œ์–ด ๊ตฌ์กฐ  (0) 2025.04.15
'๐Ÿ› ๏ธBackend/โšกPython' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Python] 10๊ฐ• - ๊ฐ์ฒด์ง€ํ–ฅ
  • [Python] 9๊ฐ• - ํ•จ์ˆ˜
  • [Python] 7๊ฐ• - ๋ฐ˜๋ณต ๊ตฌ์กฐ
  • [Python] 6๊ฐ• - ์„ ํƒ ๊ตฌ์กฐ
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด๋ณด๊ธฐ (181)
      • ๐ŸŽ“๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต (41)
        • โš™๏ธ์ปดํ“จํ„ฐ์˜ ์ดํ•ด (11)
        • ๐Ÿ’ป์ปดํ“จํ„ฐ๊ณผํ•™ ๊ฐœ๋ก  (9)
        • ๐Ÿ”ข์ž๋ฃŒ๊ตฌ์กฐ (6)
        • ๐ŸŒ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ… (11)
        • ๐Ÿ›๏ธ์„ธ๊ณ„์˜์ •์น˜์™€๊ฒฝ์ œ (3)
        • ๐Ÿ–ฅ๏ธ์ปดํ“จํ„ฐ๊ณผํ•™๊ณผ (1)
      • ๐Ÿ› ๏ธBackend (64)
        • ๐Ÿ“š๋ฐฑ์—”๋“œ ๊ณต๋ถ€ (4)
        • โ˜•Java (23)
        • ๐ŸŒณSpring (13)
        • โš™๏ธC (8)
        • โšกPython (13)
        • JavaScript (1)
        • ๐Ÿ›ข๏ธDatabase (0)
        • Algorithm Problem Solving (2)
      • ๐ŸŒ Network (7)
        • ๐Ÿ“œHTTP (7)
      • ๐Ÿš€DevOps (1)
      • โ›บ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ (64)
      • ์ •๋ณด (2)
      • ์ •๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ธ€ (2)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • GitHub
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์ปดํ“จํ„ฐ๊ณผํ•™ ๊ฐœ๋ก 
    C์–ธ์–ด
    ๋ฐฉ์†ก๋Œ€
    spring
    ์ž๋ฐ”
    ์œ ๋น„์ฟผํ„ฐ์Šค
    ํ•จ์ˆ˜
    Spring Framework
    ๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต
    ์ปดํ“จํ„ฐ์˜ ์ดํ•ด
    Python
    ๋ฐฐ์—ด
    ํŒŒ์ด์ฌ
    C ์–ธ์–ด
    C
    ๋ฐฉํ†ต๋Œ€
    Java
    ์ž…์ถœ๋ ฅ
    ์ž๋ฃŒ๊ตฌ์กฐ
    ์œ ๋น„์ฟผํ„ฐ์Šค ์ปดํ“จํŒ…๊ฐœ๋ก 
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.1
junbin2
[Python] ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ(Interperter) ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”