
Python 3.9.5λ₯Ό μ¬μ©νμ΅λλ€.
λ°μ΄ν° νμ μ΄λ?
μλλ Javaμ μ½λ μ λλ€.
// μμ νμ
int number1 = 1;
double number2 = 10.1;
boolean is = true;
// μ°Έμ‘° νμ
String word = new String();
μμ μμμ κ°μ΄ λ³μ μμ λΆμ΄ μλ int, double, boolean, String μ΄ λ°μ΄ν°μ νμ μ λλ€. λ°μ΄ν° νμ μ μ»΄ν¨ν°κ° λ°μ΄ν°λ₯Ό μ΄λ»κ² λ€λ€μΌν μ§ μλ €μ£ΌκΈ° μν΄ μ¬μ©λλ ννμ λλ€. μ¦ λ³μμ νμ μ΄λΌκ³ ν μ μμ΅λλ€. λ°μ΄ν° νμ μ μμ νμ κ³Ό μ°Έμ‘° νμ μΌλ‘ ꡬλΆμ΄ λ©λλ€.
μμ νμ
int, long, foat, boolean λ± λ©λͺ¨λ¦¬μ κ°μ΄ μ μ₯

μ μ΄λ―Έμ§λ Javaμ μ«μ νμ μ λ©λͺ¨λ¦¬ ν¬κΈ°μ νν κ°λ₯ν λ²μλ₯Ό λνλΈ νμ λλ€. λ©λͺ¨λ¦¬μ μ§μ κ°μ μ μ₯ν΄μ ν¬κΈ°μ λ°λΌ 0κ³Ό 1λ‘ ννν μ μλ λ²μκ° μμ΅λλ€. μ΄λ κ² λ©λͺ¨λ¦¬μ μ§μ κ°μ΄ μ μ₯λλ νμ λ€μ μμ νμ μ΄λΌκ³ ν©λλ€.
μ°Έμ‘° νμ
String, Class μ΄λ¦ λ± λ©λͺ¨λ¦¬μ κ°μ²΄μ μ£Όμκ° μ μ₯λλ μ°Έμ‘°
μ°Έμ‘° νμ μ κ°μ΄ μλ κ°μ²΄μ μ£Όμλ₯Ό κ°κ³ μμ΅λλ€.
νλ‘κ·Έλλ° μΈμ΄μμλ μμνμ κ³Ό μ°Έμ‘°νμ μΌλ‘ λ°μ΄ν° νμ μ΄ λλλλ°... λκ°μ§μ μ°¨μ΄μ μ λ©λͺ¨λ¦¬μ μ μ₯λλ κ²μ΄ κ°μΈμ§ κ°μ²΄μ μ£ΌμμΈμ§μ λ°λΌ κ΅¬λΆ λ©λλ€.
Pythonμ κ²½μ° λͺ¨λ κ²μ΄ κ°μ²΄λ‘ λμ΄ μκΈ° λλ¬Έμ μμνμ μ μ§μνμ§ μμ΅λλ€.
Pythonμ λ©λͺ¨λ¦¬λ₯Ό λ μ°¨μ§νκ³ μλκ° λ리λλΌλ ν¨μ¬ λ€μνκ³ νΈλ¦¬ν κΈ°λ₯ μ 곡μ μ€μ μΌλ‘ λ μΈμ΄μ΄κΈ° λλ¬Έμ μμνμ μ ν¬κΈ°νκ³ κ°μ²΄λ₯Ό μ°Έμ‘°νλ λ°©λ²μ μ ννμ΅λλ€.
λ°μ΄ν°νμ μ μ μ¬μ©ν κΉμ?
Pythonμ λ¬Έλ²μ 보면... λ³μ μμ λ°μ΄ν° νμ μ λΆμ¬μ£Όμ§ μμ΅λλ€. νμ§λ§... λ€λ₯Έ μΈμ΄μμ μ 곡ν΄μ£Όλ μμνμ λ€μ λͺ¨λ κ°μ²΄λ‘ λμ΄ μμ΄ λͺ¨λ νμ μ΄ μλ κ² μ λλ€.
μ΄μ°¨νΌ λ¬Έλ²μμλ νμ μ μ§μ ν΄μ£Όμ§ μλλ°... λνλ¬ λ°μ΄ν° νμ μ μ¬μ©ν κΉμ?

λ³μμ μ§λ£λ₯Ό λ°λλ€κ³ κ°μ ν΄ λ³΄κ² μ΅λλ€. μ μμ²μμ μ°λ¦¬λ "κ°κΈ°κΈ°μ΄μ΄ μμ΄μ μμ΄μ", "λ°μ΄ λΆλ¬μ§κ² κ°μμ", "λμ΄ λΉ¨κ°μ" λ± μ΄λκ° μ΄λ»κ² μνμ§ μ€λͺ νκ³ μ μν κ³Όλ₯Ό μ§μ ν΄μ£Όμ£ . λ§μ½ μ΄λ° μ€λͺ μμ΄ κ·Έλ₯ "μνμ"λΌκ³ νλ©΄...μ¨κ° κ²μ¬λ₯Ό λ€ ν΄λ³΄κ³ "λΌμ λ¬Έμ κ° μμΌμ κ² κ°μΌλ μ νμΈκ³Όλ‘ κ°λ³΄μΈμ."λΌλ λ΅λ³μ λ°μ μ μκ² μ£ . κ³Όμ μ΄ λ§€μ° μ€λ κ±Έλ¦¬κ² μ£ ? λ°μ΄ν° νμ μ μ¬μ©νλ μ΄μ λ λ§μ°¬κ°μ§ μ λλ€. νμ μ 미리 μ§μ ν΄μ€μ μ»΄ν¨ν°κ° μ΄λ€ μμ μ ν΄μΌνλμ§ λ―Έλ¦¬ μλ €μ£Όλ κ±°μ£ . μμ νμ μ κ²½μ°μλ... λ©λͺ¨λ¦¬μ ν¬κΈ°λ μ ν΄μ Έ μκ³ μ°Έμ‘°κ° μλ κ°μ΄ λ€μ΄μμ΄ μ§κ΄μ μΌλ‘ λΉ λ₯΄κ² μ½μ μ μμ΅λλ€.
Pythonμ λ°μ΄ν° νμ
Pythonμ λ°μ΄ν° νμ μ λͺ¨λ μ°Έμ‘° νμ μ΄λΌκ³ νμ΅λλ€. κ·Έλμ λ€λ₯Έ μΈμ΄μμ μ¬μ©λκ³ μλ μμ νμ λ λͺ¨λ κ°μ²΄λ‘ λμ΄ μμ΄ μ°Έμ‘°νμ μΈκ±°μ£ .

w = 100
print(type(w)) # <class 'int'>
x = 100.00
print(type(x)) # <class 'str'>
y = complex('1+2j')
print(type(y)) # <class 'complex'>
z = True
print(type(z)) # <class 'bool'>
λ€λ₯Έ μΈμ΄μμ μμνμ μΌλ‘ μ·¨κΈνλ νμ μ΄ Pythonμμλ λ¬Έμ, μ μ, μ€μ κ·Έλ¦¬κ³ λ Όλ¦¬ νμ μ λν κ°μ²΄λ‘ ννλκ³ μμ΅λλ€.
Pythonμμλ λ€λ₯Έ μΈμ΄μμ μ§μνλ μμνμ λ κ°μ²΄λ‘ λμ΄ μμ΄ μ»μ μ μλ μ₯μ κ³Ό λ¨μ λ€μ΄ μμ΅λλ€.
μ₯μ
κΈ°λ₯κ³Ό νΈλ¦¬μ±μ μ€μ¬μΌλ‘νκΈ° λλ¬Έμ.... νμ μ λν΄μ λ§μ΄ μμ λ‘μ΅λλ€. Javaμ κ²½μ° λ²μμ λ°λΌ μ μνμ νννκΈ° μν΄ byte, short, int, long μΌλ‘ ννν©λλ€. longμ λ²μλ‘ νννμ§ λͺ»νλ μ«μλ BigIntegerλΌλ ν΄λμ€λ₯Ό μ¬μ©ν΄μ κ²°κ΅ μ°Έμ‘° νμ μΌλ‘ μ¬μ©νκ² λμ£ . Pythonμ int νμ μ΄ μ°Έμ‘° νμ μ΄κΈ° λλ¬Έμ 무μ νμΌλ‘ ννν μ μμ΄ λ²μλ₯Ό λμ΄κ°κ±°λ νμ μ λν κ±±μ μ ν νμκ° μμ΅λλ€.
x = 100
print(id(x), type(x)) # 2678038156752 <class 'int'>
x = 'asd'
print(id(x), type(x)) # 2678039955056 <class 'str'>
λ€λ₯Έ νμ μ λ°μ΄ν°λ₯Ό κ°μ λ³μμ ν λΉν΄ μ£Όλ κ²λ κ°λ₯ν©λλ€. μμ μμμμλ λ°λΌλ³΄κ³ μλ λ©λͺ¨λ¦¬ μ£Όμμ κ°μ μΆλ ₯ν΄μ£Όλ id ν¨μμ λ³μμ λ°μ΄ν° νμ μ μΆλ ₯ν΄μ£Όλ type ν¨μλ₯Ό μ¬μ©νμ΅λλ€. xλ 100μ΄λΌλ κ°μ²΄μ μ£Όμλ₯Ό 보λ€κ° 'asd'λΌλ μλ‘μ΄ κ°μ²΄λ₯Ό μμ±ν΄μ ν΄λΉ κ°μ²΄μ μ°κ²°ν΄ μ€λλ€. μ¦, μλ‘μ΄ μ£Όμλ₯Ό λ°λΌλ³΄κ³ κΈ°μ‘΄ κ°μ²΄μμ κ°μ λ³κ²½ν΄μ£Όμ§ λͺ»νλ λ³ν μ μλ(Immutable) λ³μ μ λλ€. Pythonμ λ¬Έμ, μ μ, μ€μλ λͺ¨λ Immutableν λ°μ΄ν° νμ μ λλ€. μ΄ν λ°μ΄ν° ꡬ쑰μ λν κΈμμ κ°μ΄ λ³ν μ μλ(mutable) λ°μ΄ν° νμ μ λν΄μ μμλ³Όκ²λλ€.
λ¨μ
νΈλ¦¬ν λ§νΌ... μμνμ λ²μμ λ€μ΄κ°λ λ°μ΄ν°μ λν΄μλ μ²λ¦¬νλλ° λ€λ₯Έ μΈμ΄λ³΄λ€ λλ¦° λ¨μ μ΄ μκ³ ... νΈλ¦¬ν¨μ μΆκ΅¬νλ μΈμ΄μΈλ° μ€νλ € κ°λ°μλ€μ΄ λΆνΈν΄ νλ κ²½μ°λ μμ΅λλ€.
x = 100
print(type(x)) # <class 'int'>
y = 'asd'
print(type(y)) # <class 'str'>
print(x + y) # TypeError: unsupported operand type(s) for +: 'int' and 'str'
νμ μ μ§μ ν΄μ£Όμ§ μμμ μΈν°ν리ν°μμ μ€ννκΈ° μ κΉμ§λ νμ μ λν μ€λ₯λ₯Ό νμΈν μ μλ€λ λ¨μ μ΄ μμ΄ λ§μ κ°λ°μλ€ μ€νλ € λΆνΈν΄νλ κ²½μ°λ λ§μ΅λλ€. μ μμλ 짧μμ λ¬Έμ κ° μκ² μ§λ§... κΈ΄ μ½λμμ 'int' νμ κ³Ό λ¬Έμμ΄μΈ 'str' νμ μ λνλλ° μ€νμ κΉμ§λ μ€λ₯λΌλ κ²μ μ μ μμ΅λλ€. μ΄λ° μμ΄λ¬λν λ¬Έμ λ μμ΅λλ€.
λ°μ΄ν° νμ μ μ°μ°
# μ«μ νμ
μ°μ°
x, y = 100, 6
print(x + y) # λ§μ
: 106
print(x - y) # λΊμ
: 94
print(x * y) # κ³±μ
: 600
print(x / y) # λλμ
: 16.666666666666668
print(x // y)# λͺ« : 16
print(x % y) # λλ¨Έμ§ : 4
print(x ** y) # μ κ³± : 1000000000000
# λ
Όλ¦¬ νμ
μ°μ°
x = y = 10
# κ°μ λν λΉκ΅
print(x > y) # False
print(x >= y) # True
print(x < y) # False
print(x <= y) # True
print(x == y) # True
# κ°μ΄ μλ κ°μ κ°μ²΄μΈμ§ λΉκ΅
print(x is y) # True
# λ¬Έμ νμ
μ°μ°
x = '='
print(x * 20) # ====================
μ€λͺ 보λ€λ μ€ν κ²°κ³Όλ₯Ό νμΈνλ©΄μ μ¬μ©λ²μ μ΅νλ κ²μΌλ‘ λ체ν©λλ€.
λ°μ΄ν° νμ λ³ν
# μ«μλ₯Ό λ¬Έμμ΄κ³Ό ν©μΉκ³ μΆμ κ²½μ°
text = 'λ¨μ μλ : '
count = 50
print(text + count) # TypeError: can only concatenate str (not "int") to str
# λ¬Έμλ₯Ό μμλ‘ λ³νν΄μ μ°μ°νκ³ μΆμ κ²½μ°
text = '300'
count = 50
print(text + count) # TypeError: can only concatenate str (not "int") to str
νλ‘κ·Έλλ°μ νλ€κ° μ«μ νμ μ λ¬Έμμ΄κ³Ό ν©μ³μ μΆλ ₯νκ³ μΆκ±°λ... λ¬Έμ νμ μΌλ‘λ μ«μλ₯Ό λ€λ₯Έ μ«μμ μ°μ°νκ³ μΆμ λ μ΄λ»κ² ν΄μΌν κΉμ? λ€λ₯Έ μΈμ΄μμμ λ§μ°¬κ°μ§λ‘ Pythonμμλ λ°μ΄ν° νμ μ λν λ³νμ ν΄μ€ μ μλ ν¨μκ° μμ΄μ. λ¬Έμ νμ μΌλ‘ λ³νν΄μ£Όλ "str" ν¨μμ μ«μ νμ μΌλ‘ λ³νν΄μ£Όλ "int" ν¨μλ₯Ό μ¬μ©νλ©΄ λ©λλ€.
# μ«μλ₯Ό λ¬Έμμ΄κ³Ό ν©μΉκ³ μΆμ κ²½μ°
text = 'λ¨μ μλ : '
count = 50
print(text + str(count)) # λ¨μ μλ : 50
# λ¬Έμ νμ
μ format ν¨μλ₯Ό μ΄μ©ν λ°©λ²
print('{0}{1}'.format(text, count)) # λ¨μ μλ : 50
# λ¬Έμλ₯Ό μμλ‘ λ³νν΄μ μ°μ°νκ³ μΆμ κ²½μ°
text = '300'
count = 50
print(int(text) + count) # 350
strκ³Ό int ν¨μλ₯Ό μ΄μ©ν΄μ νμ λ³νμ΄ κ°λ₯ν©λλ€. λ¬Έμ νμ μΌλ‘ λ³ννκΈ° μν΄ formatμ΄λΌλ ν¨μλ μ¬μ©ν μ μμ΅λλ€. μμ νμ μΆλ ₯νλ μμμμ complexλΌλ ν¨μλ₯Ό μ¬μ©νμλλ°μ.... complexν¨μλ λ°μ΄ν° λ³νν΄μ£Όλ ν¨μμ λλ€.
μ 리
- λ°μ΄ν° νμ μ μ»΄ν¨ν°κ° λ°μ΄ν°λ₯Ό μ΄λ»κ² λ€λ€μΌν μ§ μλ €μ£ΌκΈ° μν΄ μ¬μ©λλ νν
- λ°μ΄ν° νμ μ μμ νμ κ³Ό μ°Έμ‘° νμ μΌλ‘ ꡬλΆ
- Pythonμ κ²½μ° λͺ¨λ κ²μ΄ κ°μ²΄λ‘ λμ΄ μκΈ° λλ¬Έμ μμνμ μ μ§μνμ§ μλλ€
- Pythonμ νμ μ λν΄μ μμ λ‘λ€
- νΈλ¦¬ν λ§νΌ... μμνμ λ²μμ λ€μ΄κ°λ λ°μ΄ν°μ λν΄μλ μ²λ¦¬νλλ° λ€λ₯Έ μΈμ΄λ³΄λ€ λλ¦° λ¨μ μ΄ μλ€
- λ°μ΄ν° νμ λΌλ¦¬ μ°μ°μ΄ κ°λ₯νλ€
- Pythonμλ λ°μ΄ν° λ³νμ μνλ€μ΄ λ΄μ₯λμ΄ μλ€
λκΈ