๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ เป’(โŠ™แด—โŠ™)เฅญโœŽ

[๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ถ„์„ ๋ถ€ํŠธ์บ ํ”„ 5๊ธฐ] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ฐ์Šต/ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

๊ฐ์ž์Šˆ๋‹ˆ 2025. 4. 9. 15:17

๋“œ๋””์–ด ํŒŒ์ด์ฌ์ด ๋๋‚ฌ๋‹ค.
๋งˆ์ง€๋ง‰์— ๋ฐฐ์šด ๊ฒƒ๋“ค ์ค‘ ์ •๋ฆฌํ•˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„๋งŒ ๊ธฐ๋กํ•˜๋ คํ•œ๋‹ค.

 

<๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ฐ์Šต>


๋ฌธ์ œ )
์ž๋™์ฐจ์˜ ์ •๋ณด๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค

์ž๋™์ฐจ ํ•˜๋‚˜์˜ ์ •๋ณด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค
๋ชจ๋ธ๋ช…, ์—ฐ์‹, ๋ฐฐ๊ธฐ๋Ÿ‰, ์ƒ‰์ƒ, ์ฃผํ–‰๊ฑฐ๋ฆฌ

์ฒซ ๋ฒˆ์งธ ์ž๋™์ฐจ : ๋ถ•๋ถ•์ด, 2000, 500, ๋…ธ๋ž€์ƒ‰, 100000
๋‘ ๋ฒˆ์งธ ์ž๋™์ฐจ : ๋ฐฉ๊ตฌ์ฐจ, 1950, 200, ๋นจ๊ฐ„์ƒ‰, 200000
์„ธ ๋ฒˆ์งธ ์ž๋™์ฐจ : ์•„์Šค๋ผ๋‹ค, 1980, 5000000, ํฐ์ƒ‰, 300000

์ถœ๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

- ๊ฐ ์ž๋™์ฐจ์˜ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ์ถœ๋ ฅํ•œ๋‹ค.
- ์ด ๋ฐฐ๊ธฐ๋Ÿ‰๊ณผ ๋ฐฐ๊ธฐ๋Ÿ‰ ํ‰๊ท ์„ ์ถœ๋ ฅํ•œ๋‹ค
- ์ด ์ฃผํ–‰๊ฑฐ๋ฆฌ์™€ ์ด ์ฃผํ–‰๊ฑฐ๋ฆฌ ํ‰๊ท ์„ ์ถœ๋ ฅํ•œ๋‹ค

๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋…์„ ์ ์šฉํ•˜์—ฌ ๋ณธ๋‹ค. ์ž๋™์ฐจ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•œ๋‹ค.

# ์ž๋™์ฐจ ํด๋ž˜์Šค ์ƒ์„ฑ

class classCar():
    def __init__(self, name, year, cc, color, dist):
        self.name = name
        self.year = year
        self.cc = cc
        self.color = color
        self.dist = dist

    # ์ž๋™์ฐจ ์ •๋ณด ์ถœ๋ ฅ ๋ฉ”์„œ๋“œ
    def show_info(self):
        print(f'๋ชจ๋ธ๋ช… : {self.name}\n์—ฐ์‹ : {self.year}\n๋ฐฐ๊ธฐ๋Ÿ‰ : {self.cc}\n์ƒ‰์ƒ : {self.color}\n์ฃผํ–‰๊ฑฐ๋ฆฌ : {self.dist}\n')
# ์ž๋™์ฐจ ์ •๋ณด ์ž…๋ ฅ
car1 = classCar('๋ถ•๋ถ•์ด', 2000, 500, '๋…ธ๋ž€์ƒ‰', 100000)
car2 = classCar('๋ฐฉ๊ตฌ์ฐจ', 1950, 200, '๋นจ๊ฐ„์ƒ‰', 200000)
car3 = classCar('์•„์Šค๋ผ๋‹ค', 1980, 5000000, 'ํฐ์ƒ‰', 300000)

# ์ž๋™์ฐจ๋“ค์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฌถ๋Š”๋‹ค
car_list = [car1, car2, car3]
# ์ž๋™์ฐจ ์ •๋ณด ์ถœ๋ ฅํ•˜๊ธฐ
for car in car_list:
    classCar.show_info(car)
๋ชจ๋ธ๋ช… : ๋ถ•๋ถ•์ด
์—ฐ์‹ : 2000
๋ฐฐ๊ธฐ๋Ÿ‰ : 500
์ƒ‰์ƒ : ๋…ธ๋ž€์ƒ‰
์ฃผํ–‰๊ฑฐ๋ฆฌ : 100000

๋ชจ๋ธ๋ช… : ๋ฐฉ๊ตฌ์ฐจ
์—ฐ์‹ : 1950
๋ฐฐ๊ธฐ๋Ÿ‰ : 200
์ƒ‰์ƒ : ๋นจ๊ฐ„์ƒ‰
์ฃผํ–‰๊ฑฐ๋ฆฌ : 200000

๋ชจ๋ธ๋ช… : ์•„์Šค๋ผ๋‹ค
์—ฐ์‹ : 1980
๋ฐฐ๊ธฐ๋Ÿ‰ : 5000000
์ƒ‰์ƒ : ํฐ์ƒ‰
์ฃผํ–‰๊ฑฐ๋ฆฌ : 300000

 

์ด ๋ฐฐ๊ธฐ๋Ÿ‰๊ณผ ํ‰๊ท  ๋ฐฐ๊ธฐ๋Ÿ‰์€ ์ปดํ”„๋ฆฌํ—จ์…˜์„ ํ™œ์šฉํ•˜์—ฌ ์งง์€ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค.

# ์ด ๋ฐฐ๊ธฐ๋Ÿ‰๊ณผ ํ‰๊ท  ๋ฐฐ๊ธฐ๋Ÿ‰ ๊ตฌํ•˜๊ธฐ
total_cc = sum(car.cc for car in car_list)
avg_cc = total_cc // len(car_list)

print(f'์ด ๋ฐฐ๊ธฐ๋Ÿ‰ : {total_cc}')
print(f'ํ‰๊ท  ๋ฐฐ๊ธฐ๋Ÿ‰ : {avg_cc}')
์ด ์ฃผํ–‰๊ฑฐ๋ฆฌ : 600000
ํ‰๊ท  ์ฃผํ–‰๊ฑฐ๋ฆฌ : 200000

๋А๋‚€์ ๐Ÿ’ฌ


์ด ๊ณผ์ œ๋ฅผ ํ•˜๋ฉด์„œ ๋А๋‚€์ ์€ ์ด์   f๋ฌธ์ž์—ด์— ์ต์ˆ™ํ•ด์กŒ๋‹ค๋Š” ๊ฒƒ๊ณผ ์•„์ง ์ฃผ์„ ๋จผ์ € ๋‹ฌ๊ณ  ์ฝ”๋“œ ์“ฐ๋Š”๊ฒŒ ์‰ฝ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ...
์ฝ”๋”ฉ์„ ์ฒ˜์Œ ์‹œ์ž‘ ํ•  ๋•Œ ๋ถ€ํ„ฐ ์ƒ๊ฐ๋‚˜๋Š”๋Œ€๋กœ ์„  ์ฝ”๋”ฉ ํ›„ ์ฃผ์„ ์ด๋ ‡๊ฒŒ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์™€์„œ
์ ˆ์ฐจ๋Œ€๋กœ ์ฃผ์„์„ ์“ฐ๋Š”๊ฒŒ ์†์— ์•ˆ์ต์—ˆ๋‹ฌ๊นŒ...
์ด๊ฑฐ๋Š” ๋‚ด ๋…ธ๋ ฅ๊ณผ ๋ฒ„๋ฆ‡..?์— ๋‹ฌ๋ฆฐ ๊ฒƒ ๊ฐ™๋‹ค ใ…Ž

 

 

<์˜ˆ์™ธ์ฒ˜๋ฆฌ>


์˜ˆ์™ธ

: ์˜ค๋ฅ˜์˜ ๋ฐœ์ƒ์„ ๋ฏธ๋ฆฌ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋“ค

์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด Virtual Machine์€ ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐ•์ œ ์ข…๋ฃŒํ•œ๋‹ค.
์ด๋•Œ ์˜ค๋ฅ˜์— ๋Œ€ํ•ด ๊ฐ•์ œ ์ข…๋ฃŒ๋˜๋Š” ๊ฒƒ์„ ๋ง‰๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ๋”ฐ๋กœ ๋งŒ๋“  ์ฝ”๋“œ๊ฐ€ ๋™์ž‘๋˜๊ธธ ์›ํ•˜๋ฉด ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋ผ๋Š” ๊ฒƒ์„ ํ•ด์•ผํ•œ๋‹ค.

์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ด์ „์— ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋ญ๋‹ค?
์• ์ดˆ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ๋˜์ง€ ์•Š๋„๋ก ํ™•์ธ ๋˜ ํ™•์ธ.. (ex. ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ ๋“ฑ)

# ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ์ฝ”๋“œ ์‚ฝ์ž…
a1 = 10 / 0
print(a1)
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
Cell In[1], line 1
----> 1 a1 = 10 / 0
      2 print(a1)

ZeroDivisionError: division by zero

์ด๋•Œ ZeroDivisionError ๊ฐ€ ์˜ค๋ฅ˜๋ช…์ด๋‹ค. ์ด ์˜ค๋ฅ˜๋ช…์„ try-except๋ฌธ์—์„œ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ๋ด์•ผํ•œ๋‹ค.


try-except

# try๋ฌธ ์ˆ˜ํ–‰ํ•ด๋ณธ๋‹ค.
try :
    a1 = 10/0
    print(a1)

# try๋ฌธ์—์„œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ์‹œ except๊ตฌ๋ฌธ์„ ์‹คํ–‰ํ•œ๋‹ค
except :
    print('์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค')

print('์ด ๋ถ€๋ถ„์ด ์ˆ˜ํ–‰๋ ๊นŒ์š”?')

๋‚ด๊ฐ€ ์‹คํ–‰ํ•  ์ฝ”๋“œ๋ฅผ try๋ฌธ์— ๋„ฃ๊ณ , ๋งŒ์•ฝ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค๋ฉด except๋ฌธ์„ ์‹คํ–‰์‹œ์ผœ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  try-except๊ฐ€ ๋ชจ๋‘ ์ˆ˜ํ–‰๋˜๋ฉด ๊ฐ€์žฅ ์•„๋ž˜์˜ print('์ด ๋ถ€๋ถ„์ด ์ˆ˜ํ–‰๋ ๊นŒ์š”') ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™๋œ๋‹ค.

 

try, except ์™ธ์—๋„ else, finally ๊ตฌ๋ฌธ๋„ ์žˆ๋‹ค.

try :
    #a1 = 10 / 0
    #print(a1)

# try๋ฌธ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋ฉด ๋™์ž‘ํ•˜๋Š” except ๊ตฌ๋ฌธ
except ZeroDivisionError as e:
    print('0์œผ๋กœ ๋‚˜๋ˆ„๋Š” ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค')
    print(e)
except IndexError as e:
    print('์ž˜๋ชป๋œ ์ˆœ์„œ๊ฐ’์œผ๋กœ ์ ‘๊ทผํ•˜์˜€์Šต๋‹ˆ๋‹ค.')
    print(e)
except Exception as e:
    print('๊ทธ ์™ธ์˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค')
    print(e)

# try ๋ถ€๋ถ„์—์„œ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  ์ˆ˜ํ–‰๋˜์—ˆ์„ ๋•Œ ๋™์ž‘ํ•˜๋Š” ๋ถ€๋ถ„
else :
    print('์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค')

# try ๋ถ€๋ถ„์—์„œ ์˜ˆ์™ธ๋ฐœ์ƒ ์—ฌ๋ถ€๊ฐ€ ๊ด€๊ณ„์—†์ด '๋ฌด์กฐ๊ฑด ๋™์ž‘ํ•˜๋Š” ๋ถ€๋ถ„'
finally :
    print('๋ฌด์กฐ๊ฑด ๋™์ž‘ํ•˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค')
๊ทธ ์™ธ์˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค
invalid literal for int() with base 10: '์•ˆ๋…•ํ•˜์„ธ์š”'
๋ฌด์กฐ๊ฑด ๋™์ž‘ํ•˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค

์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด:
try ์ˆ˜ํ–‰ -> else (๊ฐ€ ์žˆ๋‹ค๋ฉด)์ˆ˜ํ–‰ -> finally (๊ฐ€ ์žˆ๋‹ค๋ฉด) ์ˆ˜ํ–‰

์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒ ํ–ˆ๋‹ค๋ฉด:
try ๋ถ€๋ถ„ ์ˆ˜ํ–‰ ์ค‘๋‹จ -> except ๋ฌธ ์ˆ˜ํ–‰ -> finally (๊ฐ€ ์žˆ๋‹ค๋ฉด) ์ˆ˜ํ–‰

else์™€ finally๋Š” ๊ผญ ์žˆ์–ด์•ผํ•˜๋Š”๊ฑด ์•„๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ try๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด except๋Š” ๊ผญ ์žˆ์–ด์•ผํ•œ๋‹ค. ๋‘˜์€ ์ง๊ฟ๊ฐ™์€ ์กด์žฌ!

 

์ถœ์ฒ˜ : ๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ