[Python] 1κ° - μ»΄ν¨ν°μ μ΄ν΄
1. λ°μ΄ν°μ μ 보
(1) λ°μ΄ν°μ κ°λ
- μ΄λ€ νμμ΄λ μ¬μ€μ λν μ€λͺ λλ μ€λͺ μ μ§ν©μ μλ―Ένλ€.
(2) λ°μ΄ν°μ μ μ
[1] λ°μ΄ν° (data)
- κ΄μ°°μ΄λ μ€ν, μ‘°μ¬λ‘ μ»μ μ¬μ€
- μ΄λ‘ μ μΈμ°λλ° κΈ°μ΄κ° λλ μ¬μ€ λλ λ°νμ΄ λλ μλ£
μ 리 : κ΄μ°°μ΄λ μΈ‘μ μ ν΅ν΄ μ»μ μμΉ, λ¬Έμ ννμ ννν μ μλ μ§μ λλ μμ μ κ°μ μλ―Ένλ€.
(3) μ 보μ κ°λ
- λ¬Έμ λλ μ§λ¬Έμ ν΄κ²°νκΈ° μν΄ μ¬μ©ν μ μλ λ°μ΄ν°μ λ°μ΄ν°μ μ§ν©μ μλ―Ένλ€.
(4) μ 보μ μ μ
[1] μ 보 (information)
- μ΄λ€ λ°μ΄ν°λ μμμ ν΅νμ¬ μ»μ μ§μμ΄λ μνμ μ΄λ
- κ΄μ°°μ΄λ μΈ‘μ μ ν΅νμ¬ μμ§ν μλ£λ₯Ό λ¬Έμ ν΄κ²°μ λμμ΄ λ μ μλλ‘ μ 리ν μ§μ
μ 리 : κ΄μ°°κ³Ό μΈ‘μ μ ν΅ν΄ μ»μ λ°μ΄ν°λ₯Ό μ²λ¦¬(μ λ ¬, ν©μ°, κ΅°μ§ν λ±)νμ¬ μ€μ λ¬Έμ ν΄κ²°μ λμμ΄ λλ λ°μ΄ν° λλ κ²°κ³Όλ¬Όμ μλ―Ένλ€.
(5) μ 보 μ²λ¦¬ κ³Όμ
- λ°μ΄ν°λ νμμ λν κ΄μ°°κ³Ό μΈ‘μ μΌλ‘ μμ±
- λ°μ΄ν°λ κΈ°λ‘λ μ¬μ€μ΄μ§λ§, μ§μ μ μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°νλλ° λμμ΄ λμ§ μμ.
- μ²λ¦¬μ κ°κ³΅μ ν΅ν΄ μ λ³΄λ‘ λ³νμ νλλ° μ΄λ¬ν μ²λ¦¬μ κ°κ³΅μ΄ "μ 보 μ²λ¦¬ κ³Όμ " μ΄λ€.
(6) μ²λ¦¬μ κ°κ³΅
- μμ§λ λ°μ΄ν°μ μ§ν©μ μ λ ¬, κ΅°μ§ν, κ³μ° λλ ννλ°©λ² λ³κ²½ λ±μ λ°μ΄ν°λ₯Ό λ³ννμ¬ μ 보λ₯Ό μμ°νλ κ³Όμ
2. μ»΄ν¨ν°μ κ°λ
(1) μ»΄ν¨ν°μ μ μ
- λ°μ΄ν°μ μ¦κ°ν¨μ λ°λΌ λ§μ λ°μ΄ν°λ₯Ό μ²λ¦¬ν΄ μ λ³΄λ‘ λ§λ€κΈ°μλ μ΄λ €μμ΄ μμ΄ "μ»΄ν¨ν°"κ° λ§λ€μ΄μ‘λ€.
- μ»΄ν¨ν°λ μ μλ λ°©λ²μ λ°λΌ μ λ ₯λ λ°μ΄ν°λ₯Ό μλμΌλ‘ μ²λ¦¬νμ¬ μ 보λ₯Ό μμ°νλ κΈ°κ³λ₯Ό μλ―Ένλ€.
- μ»΄ν¨ν°κ° λ°μ΄ν°λ₯Ό μ²λ¦¬ν΄ μ λ³΄λ‘ λ§λ€μ΄μ£Όλ κΈ°κ³
(2) λ°μ΄ν°μ κΈ°λ³Έ λ¨μ
- μ»΄ν¨ν°λ μμ§λ§ μ²λ¦¬λ₯Ό μν΄μ μ»΄ν¨ν°μμ λ°μ΄ν°λ₯Ό ννμ ν΄μΌνκΈ° λλ¬Έμ λ§λ€μ΄μ§κ²μ΄ λ°μ΄ν°μ λ¨μμ΄λ€.
[1] λΉνΈ(bit, binary digit) / μ΄μ§μ
- μ΄μ§μλ₯Ό νμ©ν΄ λ κ°μ§ μνλ‘ λ°μ΄ν°λ₯Ό ννν κ°μ₯ μμ λ¨μμ΄λ€. ( 0μ off / 1μ on )
- bit νλλΉ νλμ on λλ offκ° λ μ μλ 곡κ°μ΄λΌκ³ μκ°νλ©΄ λλ€. μ¦, νκ°λΉ 2κ°μ μνλ₯Ό κ°μ§λ€.
- 1 bit = on / off μ΄ 2κ°μ ννμ΄ κ°λ₯ν¨
- 2 bit = on : on / off : off / on : off / off : on μ΄ 4κ°μ ννμ΄ κ°λ₯ -> κ²°λ‘ μ 2² μ μλ―Έν¨.
- 3 bit = μ΄ 8κ°μ ννμ΄ κ°λ₯ -> κ²°λ‘ 2³ μλ―Έν¨.
- μ 리νλ©΄ λΉνΈκ° λμ΄λ μλ‘ νν ν μ μλ λ²μλ 2βΏ λ§νΌ λμ΄λλ€. (λΉνΈκ° μ κ³±μ΄ λλ€.)
[2] λ°μ΄νΈ(byte)
- νλμ λ°μ΄νΈλ μ΄ 8κ°μ λΉνΈλ₯Ό κ°μ§κ³ μλ€.
- μμ μ»΄ν¨ν° ꡬ쑰μμ λ¬Έμ νλλ₯Ό μ μ₯νκ±°λ μ²λ¦¬νλ €λ©΄ 8λΉνΈκ° λ± μ λΉνμλ€.
- κ·Έλμ 8λΉνΈλ₯Ό 1byteλΌλ λ¨μλ‘ νμ€μ μ μνμ. ( κ²°λ‘ μ μ μΌ λ§μ΄ μ°μ΄κΈ° λλ¬Έμ λ§λ€μ΄μ§ λ¨μ )
- 8 bit = 2βΈ μ΄κΈ° λλ¬Έμ μ΄ 256κ°μ§ κΉμ§μ μν ννμ΄ κ°λ₯νλ€.
- ν΄λΉ μ΄μ§μλ κ°κ°μ κ³ μ ν κ°μ κ°μ§κ² λλ―λ‘, μνλ μ«μλ₯Ό μ΄μ§μλ‘ ννμ΄ κ°λ₯νλ€.
(3) μ»΄ν¨ν°μ 2μ§λ²
[1] μ΄μ§λ²μ μ¬μ©νλ μ΄μ
- νΈλμ§μ€ν°μ μνκ° μ΄μ§λ²μ μ¬μ©νκΈ°μ λ§€μ° μ ν©ν μνλΌ μ΄μ§λ²μ μ¬μ©νκ² λ¨.
- νΈλμ§μ€ν°λ 2κ°μ§μ μνλ₯Ό κ°μ§κ³ μμ ( μ λ₯ νλ₯΄λ μν / νλ₯΄μ§ μλ μν )
- νΈλμ§μ€ν°μ μ λ₯κ° νλ₯΄λ μνλ₯Ό 1 μ λ₯κ° νλ₯΄μ§ μλ μνλ₯Ό 0μΌλ‘ ννν¨.
- νΈλμ§μ€ν°μλ μ΄λ―Έν°, λ² μ΄μ€, μ½λ ν° μ΄ 3κ°μ§κ° μμ.
- μ΄λ―Έν°μλ μ λ₯κ° νμ νλ‘κ³ μκ³ , λ² μ΄μ€μ νΉμ μ μμ κ°νλ©΄ μ½λ ν°μ μ λ₯κ° νλ¦
- μ΄ κ³Όμ μμ λ² μ΄μ€μ μ μμ κ°νκΈ° μ μ 0 , κ°ν νμλ 1μ΄ λλ μ리μ΄λ€.
- κ²°κ΅μ νΈλμ§μ€ν° 1κ°λ₯Ό 1bitλ‘ λ³Ό μ μλ€.
(4) μλ λ‘κ·Έμ λμ§νΈ
- μ»΄ν¨ν°κ° λ±μ₯νλ©°, "μλ λ‘κ·Έ"μ "λμ§νΈ"μ΄λΌλ λ¨μ΄κ° λμ ꡬλΆμ νκΈ° μμν¨.
[1] μλ λ‘κ·Έ
- μ¬λ¬Όμ΄λ κ°λ μ μ°μμ μΈ λ¬Όλ¦¬λ κ°μΌλ‘ νν
- μ¦, μ°μμ μΈ λͺ¨λ κ°λ€μ ννν μ μμ.
[2] λμ§νΈ
- μ¬λ¬Όμ΄λ κ°λ μ μ΄μ°μ μΈ κ° μ¦, λͺ¨λ κ²μ μ«μλ‘ ννμ νκ² λ¨.
- μ°μμ μΌλ‘ λͺ¨λ κ°μ ννν μ μμ. μ¦, μ€κ°μ μΌμ΄λλ κ³Όμ μ ννν μ μμΌλ―λ‘ μ΄μ°μ μ΄λ€.
* μμ : κ°μ₯ ν° μμλ‘λ "μλ λ‘κ·Έ μκ³" μ "λμ§νΈ μκ³" κ° μλ€.
[3] μ 리
- λμ§νΈ λ°μ΄ν°λ₯Ό μ¬μ©νλ μ»΄ν¨ν°λ νμ€μΈκ³μ 물리λμ λͺ¨λ ννμ΄ λΆκ°λ₯νλ©°, κ·Όμ¬νκ²λ§ ννμ΄ κ°λ₯ν¨.
(5) μ«μ λ°μ΄ν°μ νν
- νμ€ μΈκ³μμ μΌλ°μ μΌλ‘ 10μ§μ, 12μ§μ λ± μ¬λ¬ μ§μλ₯Ό μ¬μ©ν¨.
- λ°λ©΄, μ»΄ν¨ν°λ 무쑰건 2μ§μλ§ μ¬μ©μ΄ κ°λ₯νλ€.
- μ¦, νμ€ μΈκ³μ 10μ§μλ 12μ§μλ₯Ό 2μ§μλ‘ λ³νμ ν΄μΌμ§λ§ μ»΄ν¨ν°λ‘ ννμ΄ κ°λ₯νλ€λ λ§μ΄λ€.
- μ§λ² λ³ν κ³Όμ μ ν΅ν΄ νμ€ μΈκ³μ μ«μλ₯Ό μ΄μ§μλ‘ λ³νν λ€ μ»΄ν¨ν°κ° μ΄ν΄νκ² λ§λλ κ³Όμ μ κ±°μΉλ€.
(6) λ¬Έμ λ°μ΄ν°μ νν
- νμ€ μΈκ³μ λ¬Έμμ μ’ λ₯λ λ§€μ° λ€μνλ€. ( μΈμ΄μ μ’ λ₯λ μμ² λ€μνκ³ λ§μ )
- νμ€ μΈκ³μ λ¬Έμλ₯Ό μ»΄ν¨ν°μ μ΄μ§μλ‘ λ³ν μ¦, νννκΈ° μν λ°©λ²μΌλ‘λ μΈμ½λ© 체κ³λ₯Ό μ΄μ©νλ€.
- "μΈμ½λ© 체κ³"λ λ¬Έμλ₯Ό μ«μλ‘ λ°κΎΈκ³ , κ·Έ μ«μλ₯Ό μ΄μ§μλ‘ νννλ λ°©λ²μ΄λ€.
[1] ASCII μ½λν
- κ°μ₯ μ²μμ λ§λ€μ΄μ§ μΈμ½λ© 체κ³μ΄λ€.
- American Standard Code for Information Interchangeμ μ½μλ‘ λ―Έκ΅ μ 보 κ΅ν νμ€ λΆνΈλ₯Ό μλ―Ένλ€.
- μ½κ² λ§ν΄, μ»΄ν¨ν°κ° λ¬Έμλ κΈ°νΈλ₯Ό μ«μλ‘ ννν μ μλλ‘ λ§λ νμ€ μ½λ 체κ³μ΄λ€.
- ν΄λΉ μ«μκ° λ¬ΈμμΈμ§ μ«μμΈμ§ ꡬλ³μ νκΈ° μν΄ κ΅¬λ³ μ 보λ₯Ό λ³λ κ³΅κ° μμ μ μ₯μ νλ λ°©μμ μ΄μ©ν¨.
* νλ‘κ·Έλλ°μ νλ€λ³΄λ©΄ λ°μ΄ν° νμ μ μ¬μ©νλλ°, κ·Έλ¬ν λ°μ΄ν° νμ μ΄ λ¬Έμμ μ«μ λ± μ΄λ°κ²λ€μ ꡬλΆνκΈ° μν¨μ.
3. μ»΄ν¨ν°μ νλ‘κ·Έλ¨
(1) νλ‘κ·Έλ¨μ μ΄ν΄
- μ»΄ν¨ν°λ μ 보λ₯Ό μ²λ¦¬νκΈ° μν΄ λ°©λ²κ³Ό κ³Όμ μ μμμ μΌλ‘ κ²°μ μ ν μ μλ€. μ¦, μμμ κ²°μ μ΄ λΆκ°λ₯νλ€.
- μ»΄ν¨ν°κ° μΈμ , μ΄λμ μ μ₯λμ΄μλ λ°μ΄ν°λ₯Ό μ²λ¦¬ν΄μ κ·Έ κ²°κ³Όλ₯Ό μ΄λμ μ μ₯μν€κ±°λ 보μ¬μ€μ§λ₯Ό μ μν΄μΌν¨.
- μ¦, μ²λ¦¬ λ°©λ²κ³Ό κ³Όμ μ΄ μ μλ λ΄μ©μ νλ‘κ·Έλ¨μ΄λΌκ³ νλ€.
- νλ‘κ·Έλ¨μ λ¨μν μκ³ λ¦¬μ¦μ ꡬνν κ²°κ³Όλ¬Όμ΄λΌκ³ λ³Ό μλ μλ€.
(2) μκ³ λ¦¬μ¦
- λ¬Έμ λ₯Ό νκΈ° μν λ¨κ³λ³ μ μ°¨λ₯Ό 체κ³μ λͺ λ Ήμ ννλ‘ κΈ°μ ν κ²
- μ½κ²λ§ν΄, 곡ν΅μ κ³Ό κ·μΉμ μ°Ύμ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν μΌλ ¨μ μ μ°¨λ λ°©λ²μ μκ³ λ¦¬μ¦μ΄λΌκ³ νλ€.
- μ μ¬ν λͺ¨λ λ¬Έμ λ₯Ό νκΈ° μν νμ λ§λλ κ²μ΄ μκ³ λ¦¬μ¦ μΌ μ μλ€.
- μ΄λ¬ν μκ³ λ¦¬μ¦μ ꡬνν κ²μ΄ νλ‘κ·Έλ¨μ΄λ€.
(3) νλ‘κ·Έλλ° μΈμ΄
- μ¬λκ³Ό μ»΄ν¨ν° μ¬μ΄μ μμ¬μν΅ λꡬ
- μ¬λμ΄ μ΄ν΄ν μ μλ μΈμ΄λ₯Ό μ΄μ©ν΄ νλ‘κ·Έλ¨μ μμ±ν λ€ μ΄μ§μλ‘ λ³ννμ¬ μ»΄ν¨ν°κ° μ€νμ μν΄.
[1] νλ‘κ·Έλλ° μΈμ΄μ λΆλ₯
- νλ‘κ·Έλλ°μΈμ΄λ μ μ μ¬λμ΄ μ½κΈ° μ½κ² μ§νλ₯Ό νκ³ μμ.
- 1μΈλ(μ μμ€ μΈμ΄) : κΈ°κ³μ΄ -> 0κ³Ό 1μ κ·Έλλ‘ μ¨μ νλ‘κ·Έλ¨μ λ§λ¦(λ무 ν·κ°λ¦¬κ³ 볡μ‘ν¨)
- 2μΈλ(μ μμ€ μΈμ΄) : μ΄μ
λΈλ¦¬μ΄ -> λͺ
λ Ήμ΄ μμ΄λ‘ λμ²΄ν΄ μ¬μ©μ ν¨.
- 3μΈλ(κ³ μμ€ μΈμ΄) : Python / C / Java / Rust -> μμ°μ΄μ μ μ¬ν μΈμ΄
- 4μΈλ(κ³ μμ€ μΈμ΄) : Visual Basic -> μλν λ§μ°μ€ λͺλ²μ ν΄λ¦μΌλ‘ νλ‘κ·Έλ¨μ λ§λ¦(ν¨μ¨μ±μ λ¨μ΄μ§)
(4) νλ‘κ·Έλ¨μ μ€ν
- 3μΈλ / 4μΈλ κ³ μμ€ νλ‘κ·Έλλ° μΈμ΄λ‘ λ§λ€μ΄μ§ νλ‘κ·Έλ¨μ μ»΄ν¨ν° μμλ³Ό μ μμ.
- μ¦, μμλ³΄κ² νκΈ° μν΄μλ κ³ μμ€ μΈμ΄λ₯Ό μ»΄ν¨ν° κΈ°κ³μ΄λ‘ λ³νμ μμΌμ€μΌν¨.
- μ΄λ νμνκ², μ»΄νμΌλ¬ / μΈν°νλ¦¬ν° μ΄λ€. ( μΌμ’ μ λ²μκΈ°λΌκ³ μκ°νλ©΄ λ¨ )