์ ํํฌํ์ด์ฌ 05์ฅ ์ฐ์ต๋ฌธ์
Q1
๋ค์์ Calculator ํด๋์ค์ด๋ค.
class Calculator:
def __init__(self):
self.value = 0
def add(self, val):
self.value += val
์ ํด๋์ค๋ฅผ ์์ํ๋ UpgradeCalculator๋ฅผ ๋ง๋ค๊ณ ๊ฐ์ ๋บ ์ ์๋ minus ๋ฉ์๋๋ฅผ ์ถ๊ฐํด ๋ณด์. ์ฆ ๋ค์๊ณผ ๊ฐ์ด ๋์ํ๋ ํด๋์ค๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.
cal = UpgradeCalculator()
cal.add(10)
cal.minus(7)
print(cal.value) # 10์์ 7์ ๋บ 3์ ์ถ๋ ฅ
ํ์ด:
class UpgradeCalculator(Calculator):
def minus(self, val):
self.value -= val
cal = UpgradeCalculator()
cal.add(10)
cal.minus(7)
print(cal.value)
Q2
๊ฐ์ฒด๋ณ์ value๊ฐ 100 ์ด์์ ๊ฐ์ ๊ฐ์ง ์ ์๋๋ก ์ ํํ๋ MaxLimitCalculator ํด๋์ค๋ฅผ ๋ง๋ค์ด ๋ณด์. ์ฆ ๋ค์๊ณผ ๊ฐ์ด ๋์ํด์ผ ํ๋ค.
cal = MaxLimitCalculator()
cal.add(50) # 50 ๋ํ๊ธฐ
cal.add(60) # 60 ๋ํ๊ธฐ
print(cal.value) # 100 ์ถ๋ ฅ
๋จ ๋ฐ๋์ ๋ค์๊ณผ ๊ฐ์ Calculator ํด๋์ค๋ฅผ ์์ํด์ ๋ง๋ค์ด์ผ ํ๋ค.
class Calculator:
def __init__(self):
self.value = 0
def add(self, val):
self.value += val
ํ์ด:
class MaxiLimitCalculator:
def __init__(self):
self.value = 0
def add(self,val):
self.value += val
if self.value >= 100 :
self.value = 100
Q3
๋ค์ ๊ฒฐ๊ณผ๋ฅผ ์์ธกํด ๋ณด์.
ํ๋.
>>> all([1, 2, abs(-3)-3])
ํด์ค:
abs(-3)์ -3์ ์ ๋๊ฐ์ด๋ฏ๋ก, all([1, 2, 0])์ด ๋๊ณ ,
๋ฆฌ์คํธ์ ์์๊ฐ ์ค 0์ด ์๊ธฐ ๋๋ฌธ์, all ๋ด์ฅํจ์์ ๊ฒฐ๊ณผ๊ฐ์ False๊ฐ ๋๋ค. ํจ์ all ์ iterable ๋ด์ ๋ชจ๋ ์์๊ฐ ์ฐธ์ด๊ฑฐ๋ ํน์ iterable ์ด ๋น์ด ์๋ค๋ฉด True ๋ฅผ ๋ฐํํ๊ณ , ๊ทธ ์ธ์ ๊ฒฝ์ฐ์๋ False ๋ฅผ ๋ฐํํ๋ ํจ์์ด๋ค. ์ฆ, iterable ๋ด์ ์์ ์ค ๋จ ํ๋๋ผ๋ ๊ฑฐ์ง์ธ ๊ฒฝ์ฐ์๋ False ๋ฅผ ๋ฐํํ๋ค. ํ์ด์ฌ์์๋ 0์ False ๋ก 1์ True ๋ก ์ธ์ํ๋ค.
๋.
>>> chr(ord('a')) == 'a'
ํ์ด:
ord('a')์ ๊ฒฐ๊ณผ๋ 97์ด ๋์ด chr(97)๋ก ์นํ๋๊ณ ,
chr(97)์ ๋ค์ 'a'๊ฐ ๋๋ฏ๋ก, 'a'=='a' ๊ฐ ๋์ด True
ord(๋ฌธ์)
ํ๋์ ๋ฌธ์๋ฅผ ์ธ์๋ก ๋ฐ๊ณ ํด๋น ๋ฌธ์์ ํด๋นํ๋ ์ ๋์ฝ๋ ์ ์๋ฅผ ๋ฐํํฉ๋๋ค.
ord('a')๋ฅผ ๋ฃ์ผ๋ฉด ์ ์ 97์ ๋ฐํํฉ๋๋ค.
chr(์ ์)
ํ๋์ ์ ์๋ฅผ ์ธ์๋ก ๋ฐ๊ณ ํด๋น ์ ์์ ํด๋นํ๋ ์ ๋์ฝ๋ ๋ฌธ์๋ฅผ ๋ฐํํฉ๋๋ค.
'Coding > Code in the Morning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
211126_Code in the morning (0) | 2021.11.26 |
---|---|
211123_Code int the morning (0) | 2021.11.23 |
211101_Code in the morning (0) | 2021.11.01 |
211029_Code in the morning (0) | 2021.10.29 |
211027_Code in the morning (0) | 2021.10.27 |