๐PYTHON3_#03 : int, float
์ธ ๋ฒ์งธ ํ์ด์ฌ ์๊ฐ์
๋๋ค.
์ด์ ์๊ฐ(๐PYTHON3_#02 : ์๋ฃํ๊ณผ ์๋ฃ๊ตฌ์กฐ)์๋ ์๋ฃํ(data type)๊ณผ ์๋ฃ๊ตฌ์กฐ(data structure), mutable/immutable object, iterable object์ ๋ํด ๊ฐ๋จํ ์์๋ณด์์ต๋๋ค. ์๋ ๋ด์ฉ์ ์ฝ์ด๋ณด๊ณ , ์ ๊ธฐ์ต์ด ๋์ง ์๋๋ค๋ฉด ๋ณต์ตํ์๊ธธ ๋ฐ๋๋๋ค.
โผ ์๋ฃํ(data type)์ ์ข
๋ฅ์ ํํ
โผ ์๋ฃ ๊ตฌ์กฐ(data structure)์ ์ข
๋ฅ์ ์์ฑ ๋ฐฉ๋ฒ, ํน์ง, ์ ์ฅํ ์ ์๋ ์๋ฃ์ ํํ
โผ mutable object์ ์ ์์ ์ข
๋ฅ
โผ immutable object์ ์ ์์ ์ข
๋ฅ
โผ iterable object์ ์ ์์ ์ข
๋ฅ ๋ฐ ํน์ง
โผ object์ ํ๋ณํ, type(), id(), enumerate()
์ด๋ฒ ์๊ฐ์ int
, float
์๋ฃํ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ธฐ๋ฅ๋ค์ ๋ํด ์์ธํ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
int ์๋ฃํ
์ด์ ์๊ฐ์์ int ์๋ฃํ์ 10์ง์๊ฐ ๊ธฐ๋ณธ์ด๋ฉฐ, ์ ๋์ฌ๋ ํจ์๋ฅผ ํตํด ๋ค๋ฅธ ์ง์์์ ๋ํ๋ด๊ฑฐ๋ ๋ณํํ ์ ์์์ ์์์ต๋๋ค.
์ถ๊ฐ์ ์ผ๋ก, int์ ํด๋์ค ์์ฑ์๋ฅผ ์ด์ฉํด str
๊ณผ float
์ type์ int๋ก ๋ณํํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์, ์ด๋ฒ ์๊ฐ์๋
1. ์ ๋์ฌ๋ฅผ ํตํด ๋ค๋ฅธ ์ง์์์ ๋ํ๋ด๋ ๋ฐฉ๋ฒ
2. ํจ์๋ฅผ ์ด์ฉํด ๋ค๋ฅธ ์ง์๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ
3. ํด๋์ค ์์ฑ์๋ฅผ ์ด์ฉํด type์ ๋ณํํ๋ ๋ฐฉ๋ฒ
์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
1. ์ ๋์ฌ๋ฅผ ํตํด ๋ค๋ฅธ ์ง์์์ ๋ํ๋ด๋ ๋ฐฉ๋ฒ
์ปดํจํฐ์์ ์ด๋ค ์ซ์๋ฅผ 10์ง์๊ฐ ์๋ ๋ค๋ฅธ ์ง์๋ก ํด์๋๊ฒ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ํด๋น ์ง์๋ฅผ ๊ฐ์ง๋ ์ซ์ ์์ ์๋์ ์ ๋์ฌ๋ค์ ๋ถ์ฌ์ฃผ๋ฉด ๋ฉ๋๋ค.
- 2์ง์ : 0b
์ด๋ค ์ซ์๊ฐ 2์ง์์์ ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ 2์ง์ ์์ 0b
์ ๋ถ์ฌ์ฃผ๋ ๊ฒ์
๋๋ค. ์๋์ ๊ฐ์ด ์ฌ์ฉํฉ๋๋ค.
#2์ง์ 10100 ์์ 2์ง์๋ฅผ ๋ํ๋ด๋ ์ ๋์ฌ 0b์ฌ์ฉ In [1] : 0b10100 #10100์ 2์ง์๋ก ํด์ํ๊ณ , ๋์ํ๋ 10์ง์ ๊ฐ์ธ 20์ ์ถ๋ ฅ Out [1] : 20
- 8์ง์ : 0o
์ด๋ค ์ซ์๊ฐ 8์ง์์์ ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ 8์ง์ ์์ 0o
์ ๋ถ์ฌ์ฃผ๋ ๊ฒ์
๋๋ค. ์๋์ ๊ฐ์ด ์ฌ์ฉํฉ๋๋ค.
#8์ง์ 24 ์์ 8์ง์๋ฅผ ๋ํ๋ด๋ ์ ๋์ฌ 0o์ฌ์ฉ In [1] : 0o24 #24๋ฅผ 8์ง์๋ก ํด์ํ๊ณ , ๋์ํ๋ 10์ง์ ๊ฐ์ธ 20์ ์ถ๋ ฅ Out [1] : 20
- 16์ง์ : 0x
์ด๋ค ์ซ์๊ฐ 16์ง์์์ ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ 16์ง์ ์์ 0x
์ ๋ถ์ฌ์ฃผ๋ ๊ฒ์
๋๋ค. ์๋์ ๊ฐ์ด ์ฌ์ฉํฉ๋๋ค.
#16์ง์ 14 ์์ 16์ง์๋ฅผ ๋ํ๋ด๋ ์ ๋์ฌ 0x์ฌ์ฉ In [1] : 0x14 #14๋ฅผ 16์ง์๋ก ํด์ํ๊ณ , ๋์ํ๋ 10์ง์ ๊ฐ์ธ 20์ ์ถ๋ ฅ Out [1] : 20
2. ํจ์๋ฅผ ํตํด ๋ค๋ฅธ ์ง์๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ
10์ง์ ๊ฐ์ 2์ง์, 8์ง์, ํน์ 16์ง์๋ก ๋ณํํ๊ณ ์ถ๋ค๋ฉด ํด๋นํ๋ ํจ์์ 10์ง์ ๊ฐ์ ์
๋ ฅํด์ฃผ๋ฉด ๋ฉ๋๋ค. โ ๋ฐํ๊ฐ์str
ํํ์์ ์ฃผ์ํฉ์๋ค. ๊ฐ ์ง์๋ณ ํจ์๋ ์๋์ ๊ฐ์ต๋๋ค.
- 2์ง์ : bin()
10์ง์๋ฅผ 2์ง์๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ bin()
ํจ์๋ฅผ ์ด์ฉํ๋ ๊ฒ์
๋๋ค. ๊ดํธ ์์ ๋ฐ๊พธ๊ณ ์ถ์ 10์ง์๋ฅผ ์
๋ ฅํ๋ฉด ๋์ํ๋ 2์ง์๋ฅผ returnํด์ค๋๋ค. return data type ์ str
ํ์
๋๋ค.
#10์ง์์ธ 20์ 2์ง์๋ก ๋ณํํ๊ธฐ ์ํด bin()ํจ์ ์ด์ฉ In [1] : bin(20) #10์ง์ 20์ 2์ง์ ๊ฐ์ธ 10100์ str์ return. #๋ํ ์ถ๋ ฅ๋ ๊ฐ์ 2์ง์์์ ์๋ฆฌ๊ธฐ ์ํด ์ ๋์ฌ 0b์ฌ์ฉ. Out [1] : '0b10100'
- 8์ง์ : oct()
10์ง์๋ฅผ 8์ง์๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ oct()
ํจ์๋ฅผ ์ด์ฉํ๋ ๊ฒ์
๋๋ค. ๊ดํธ ์์ ๋ฐ๊พธ๊ณ ์ถ์ 10์ง์๋ฅผ ์
๋ ฅํ๋ฉด ๋์ํ๋ 8์ง์๋ฅผ returnํด์ค๋๋ค. return data type ์ str
ํ์
๋๋ค.
#10์ง์์ธ 20์ 8์ง์๋ก ๋ณํํ๊ธฐ ์ํด oct()ํจ์ ์ด์ฉ In [1] : oct(20) #10์ง์ 20์ 8์ง์ ๊ฐ์ธ 24์ str์ return. #๋ํ ์ถ๋ ฅ๋ ๊ฐ์ 8์ง์์์ ์๋ฆฌ๊ธฐ ์ํด ์ ๋์ฌ 0o์ฌ์ฉ. Out [1] : '0o24'
- 16์ง์ : hex()
10์ง์๋ฅผ 16์ง์๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ hex()
ํจ์๋ฅผ ์ด์ฉํ๋ ๊ฒ์
๋๋ค. ๊ดํธ ์์ ๋ฐ๊พธ๊ณ ์ถ์ 10์ง์๋ฅผ ์
๋ ฅํ๋ฉด ๋์ํ๋ 16์ง์๋ฅผ returnํด์ค๋๋ค. return data type ์ str
ํ์
๋๋ค.
#10์ง์์ธ 20์ 16์ง์๋ก ๋ณํํ๊ธฐ ์ํด hex()ํจ์ ์ด์ฉ In [1] : hex(20) #10์ง์ 20์ 16์ง์ ๊ฐ์ธ 14์ str์ return. #๋ํ ์ถ๋ ฅ๋ ๊ฐ์ 16์ง์์์ ์๋ฆฌ๊ธฐ ์ํด ์ ๋์ฌ 0x์ฌ์ฉ. Out [1] : '0x14'
3. ํด๋์ค ์์ฑ์๋ฅผ ์ด์ฉํด type์ ๋ณํํ๋ ๋ฐฉ๋ฒ
int์ ํด๋์ค ์์ฑ์(class constructor)์ ์ด์ฉํ๋ฉด float
, str
์ type์ int
๋ก ๋ณํํ ์ ์์ต๋๋ค.
์ฌ์ฉ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
#int()๋ฅผ ์ด์ฉํด float๋ฅผ intํ์ผ๋ก ๋ณํ In [1] : int(3.9) Out [1] : 3 #int()๋ฅผ ์ด์ฉํด str์ intํ์ผ๋ก ๋ณํ In [2] : int("450") Out [2] : 450
โ ์ฃผ์ํ ์ โ
-
int()
๋ ๊ดํธ ์์float
ํ์ ๋ฃ์ผ๋ฉด ์ค์์ ์์์ ๋ถ๋ถ์ ์ ์ธํ๊ณ ์ถ๋ ฅํ๋ฉฐ, round-off(๋ฐ์ฌ๋ฆผ)๋ ํ์ง ์์ต๋๋ค. -
๊ดํธ ์์
str
ํ์ ๋ฃ์ ๊ฒฝ์ฐ, ๋ฐ์ดํ ์์ด ์ซ์์ธ ๊ฒฝ์ฐ๋ง validํฉ๋๋ค. ์ด์ธ์ ๊ฒฝ์ฐValueError
๊ฐ ๋ฐ์ํฉ๋๋ค. 3+4์ ๊ฐ์ด operation์ด ์๋ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง๋ก invalidํฉ๋๋ค.
float ์๋ฃํ
float ์๋ฃํ๋ int ์๋ฃํ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก float์ ํด๋์ค ์์ฑ์๋ฅผ ์ด์ฉํด int
์ str
์ type์ float๋ก ๋ณํํ ์ ์์ต๋๋ค.
1. ํด๋์ค ์์ฑ์๋ฅผ ์ด์ฉํด type์ ๋ณํํ๋ ๋ฐฉ๋ฒ
float์ ํด๋์ค ์์ฑ์(class constructor)์ ์ด์ฉํ๋ฉด str
, int
์ type์ float
๋ก ๋ณํํ ์ ์์ต๋๋ค.
์ฌ์ฉ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
#float()๋ฅผ ์ด์ฉํด int๋ฅผ floatํ์ผ๋ก ๋ณํ In [1] : float(3) Out [1] : 3.0 #float()๋ฅผ ์ด์ฉํด str์ floatํ์ผ๋ก ๋ณํ In [2] : float("3.4") Out [2] : 3.4
โ ์ฃผ์ํ ์ โ
- ๊ดํธ ์์
str
ํ์ ๋ฃ์ ๊ฒฝ์ฐ, ๋ฐ์ดํ ์์ด ์ซ์์ธ ๊ฒฝ์ฐ๋ง validํฉ๋๋ค. ์ด์ธ์ ๊ฒฝ์ฐValueError
๊ฐ ๋ฐ์ํฉ๋๋ค. 3/4์ ๊ฐ์ด operation์ด ์๋ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง๋ก invalidํฉ๋๋ค.
โ Check_List
์ด๋ฒ ์๊ฐ์๋ int, float์ ๋ค์ํ ๊ธฐ๋ฅ๋ค์ ๋ํด ์์๋ณด์์ต๋๋ค.
์๋ ๋ฆฌ์คํธ๋ฅผ ์ฒ์ฒํ ์ฝ์ด๋ณด๋ฉด์ ์ค๋ ํ์ตํ ๋ด์ฉ์ ๋ณต์ตํด๋ณด๋๋ก ํฉ์๋ค.
โผ ์
๋ ฅํ ์๋ฅผ 10์ง์๊ฐ ์๋ ๋ค๋ฅธ ์ง์๋ก ํด์ํ๊ฒ ํ๋ ๋ฐฉ๋ฒ
โผ 10์ง์๋ฅผ ๋ค๋ฅธ ์ง์(2, 8, 16์ง์)๋ก ๋ํ๋ด๋ ๋ฐฉ๋ฒ
โผ float
, str
ํ์ int
ํ์ผ๋ก ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ
โผ int
, str
ํ์ float
ํ์ผ๋ก ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ
๋ค์ ์๊ฐ์๋ str ์๋ฃํ๊ณผ list, tuple ์๋ฃ๊ตฌ์กฐ์ ๋ํด ๋์ฑ ์์ธํ ๋ค๋ฃจ์ด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐PYTHON3_#03 : int, float), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@ketchup0211/PYTHON303-int-float์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค