Python3 vs Python2

Python3 은 Python2.x λΌμΈκ³ΌλŠ” 양립할 수 μ—†κΈ° λ•Œλ¬Έμ— Python3 만의 νŠΉμ§•μ„ μ•Œμ•„μ•Όν•©λ‹ˆλ‹€.

Python3 μž₯점 πŸ’Ž

VirtualEnv λ‚΄μž₯

  • Python2 μ—μ„œλŠ” ν”„λ‘œμ νŠΈλ³„ κ°€μƒν™˜κ²½ μ…‹νŒ…μ„ μœ„ν•΄ VirtualEnv λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν• λ•Œ, λ¨Όμ € pip 을 ν†΅ν•˜μ—¬ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•΄μ•Όλ§Œ ν–ˆμŠ΅λ‹ˆλ‹€.

  • ν•˜μ§€λ§Œ Python3 μ—μ„œλŠ” VirtualEnv κ°€ λ‚΄μž₯λ˜μ–΄ 있기 λ•Œλ¬Έμ— pyenv λͺ…λ Ήμ–΄λ§ŒμœΌλ‘œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Unicode 지원

  • Python2 의 κΈ°λ³Έ 인코딩이 Ascii 이닀 λ³΄λ‹ˆ, μŠ€ν¬λ¦½νŠΈμ—μ„œ ν•œκΈ€μ„ μ‚¬μš©ν•˜κ²Œ 되면 SyntaxError κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

  • Python3 μ—μ„œλŠ” μœ λ‹ˆμ½”λ“œκ°€ ν¬ν•¨λœ String 은 λͺ¨λ‘ μœ λ‹ˆμ½”λ“œλ‘œ μ €μž₯ν•˜κΈ° λ•Œλ¬Έμ— μŠ€ν¬λ¦½νŠΈμƒμ—μ„œ ν•œκΈ€μ„ μ‚¬μš©ν•˜κΈ° νŽΈλ¦¬ν•©λ‹ˆλ‹€.

μƒμ„Έν•œ Error Exception

  • Python3 μ—μ„œλŠ” μ˜ˆμ™Έκ°€ λ°œμƒν–ˆμ„λ•Œ μ•Œλ €μ£ΌλŠ” μ—λŸ¬ 메세지가 μƒμ„Έν•©λ‹ˆλ‹€.

  • νŠΉμ • μ˜ˆμ™Έλ₯Ό λ°›μ•„ 또 λ‹€λ₯Έ μ˜ˆμ™Έλ₯Ό λ°œμƒμ‹œν‚¬λ•Œ, κ·Έ 과정을 더 μƒμ„Ένžˆ μ•Œλ €μ€λ‹ˆλ‹€.

Python2 vs Python3

μ‹€μ œλ‘œ Python3 코딩을 ν•˜λ©΄μ„œ Python2 와 문법이 λ‹¬λΌμ„œ λ‹Ήν™©ν–ˆλ˜ 뢀뢄듀을 μ •λ¦¬ν•΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

  • Python2

print "python2"
  • Python3

print ("python3")

xrange vs range

  • Python2 κ°€ μ œκ³΅ν•˜λ˜ xrange λ₯Ό μ‚¬μš©ν•˜λ©΄ 데이터 크기와 상관없이 Memory ν• λ‹ΉλŸ‰μ„ λ™μΌν•˜κ²Œ μœ μ§€ν•˜μ—¬ Memory νš¨μœ¨μ„ 높일 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

  • ν•˜μ§€λ§Œ Python3 μ—μ„œλŠ” 더이상 xrange λ₯Ό μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 무쑰건 range 만 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ°Έκ³ : Python 곡식 μ‚¬μ΄νŠΈ

Last updated