μΈ λ²μ§Έ νμ΄μ¬ μκ°μ
λλ€.
μ΄μ μκ°(π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 μλ£νμ 10μ§μκ° κΈ°λ³Έμ΄λ©°, μ λμ¬λ ν¨μλ₯Ό ν΅ν΄ λ€λ₯Έ μ§μμμ λνλ΄κ±°λ λ³νν μ μμμ μμμ΅λλ€.
μΆκ°μ μΌλ‘, intμ ν΄λμ€ μμ±μλ₯Ό μ΄μ©ν΄ str
κ³Ό float
μ typeμ intλ‘ λ³νν μ μμ΅λλ€.
λ°λΌμ, μ΄λ² μκ°μλ
1. μ λμ¬λ₯Ό ν΅ν΄ λ€λ₯Έ μ§μμμ λνλ΄λ λ°©λ²
2. ν¨μλ₯Ό μ΄μ©ν΄ λ€λ₯Έ μ§μλ‘ λ³ννλ λ°©λ²
3. ν΄λμ€ μμ±μλ₯Ό μ΄μ©ν΄ typeμ λ³ννλ λ°©λ²
μ λν΄ μμ보λλ‘ νκ² μ΅λλ€.
μ»΄ν¨ν°μμ μ΄λ€ μ«μλ₯Ό 10μ§μκ° μλ λ€λ₯Έ μ§μλ‘ ν΄μλκ² λ§λ€κ³ μΆλ€λ©΄ ν΄λΉ μ§μλ₯Ό κ°μ§λ μ«μ μμ μλμ μ λμ¬λ€μ λΆμ¬μ£Όλ©΄ λ©λλ€.
μ΄λ€ μ«μκ° 2μ§μμμ λνλ΄λ λ°©λ²μ 2μ§μ μμ 0b
μ λΆμ¬μ£Όλ κ²μ
λλ€. μλμ κ°μ΄ μ¬μ©ν©λλ€.
#2μ§μ 10100 μμ 2μ§μλ₯Ό λνλ΄λ μ λμ¬ 0bμ¬μ© In [1] : 0b10100 #10100μ 2μ§μλ‘ ν΄μνκ³ , λμνλ 10μ§μ κ°μΈ 20μ μΆλ ₯ Out [1] : 20
μ΄λ€ μ«μκ° 8μ§μμμ λνλ΄λ λ°©λ²μ 8μ§μ μμ 0o
μ λΆμ¬μ£Όλ κ²μ
λλ€. μλμ κ°μ΄ μ¬μ©ν©λλ€.
#8μ§μ 24 μμ 8μ§μλ₯Ό λνλ΄λ μ λμ¬ 0oμ¬μ© In [1] : 0o24 #24λ₯Ό 8μ§μλ‘ ν΄μνκ³ , λμνλ 10μ§μ κ°μΈ 20μ μΆλ ₯ Out [1] : 20
μ΄λ€ μ«μκ° 16μ§μμμ λνλ΄λ λ°©λ²μ 16μ§μ μμ 0x
μ λΆμ¬μ£Όλ κ²μ
λλ€. μλμ κ°μ΄ μ¬μ©ν©λλ€.
#16μ§μ 14 μμ 16μ§μλ₯Ό λνλ΄λ μ λμ¬ 0xμ¬μ© In [1] : 0x14 #14λ₯Ό 16μ§μλ‘ ν΄μνκ³ , λμνλ 10μ§μ κ°μΈ 20μ μΆλ ₯ Out [1] : 20
10μ§μ κ°μ 2μ§μ, 8μ§μ, νΉμ 16μ§μλ‘ λ³ννκ³ μΆλ€λ©΄ ν΄λΉνλ ν¨μμ 10μ§μ κ°μ μ
λ ₯ν΄μ£Όλ©΄ λ©λλ€. β λ°νκ°μstr
ννμμ μ£Όμν©μλ€. κ° μ§μλ³ ν¨μλ μλμ κ°μ΅λλ€.
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'
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'
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'
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 μλ£νλ int μλ£νκ³Ό λ§μ°¬κ°μ§λ‘ floatμ ν΄λμ€ μμ±μλ₯Ό μ΄μ©ν΄ int
μ str
μ typeμ floatλ‘ λ³νν μ μμ΅λλ€.
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ν©λλ€. μ΄λ² μκ°μλ int, floatμ λ€μν κΈ°λ₯λ€μ λν΄ μμ보μμ΅λλ€.
μλ 리μ€νΈλ₯Ό μ²μ²ν μ½μ΄λ³΄λ©΄μ μ€λ νμ΅ν λ΄μ©μ 볡μ΅ν΄λ³΄λλ‘ ν©μλ€.
βΌ μ
λ ₯ν μλ₯Ό 10μ§μκ° μλ λ€λ₯Έ μ§μλ‘ ν΄μνκ² νλ λ°©λ²
βΌ 10μ§μλ₯Ό λ€λ₯Έ μ§μ(2, 8, 16μ§μ)λ‘ λνλ΄λ λ°©λ²
βΌ float
, str
νμ int
νμΌλ‘ λ°κΎΈλ λ°©λ²
βΌ int
, str
νμ float
νμΌλ‘ λ°κΎΈλ λ°©λ²