Python íšìí íë¡ê·žëë° íšë¬ë€ììì ë¶ë³ì±ê³Œ ìì íšìì ê°ë ¥íšì í구í©ëë€. ìŽ ê°ë ë€ìŽ ìœëì ì 뢰ì±, í ì€íž ì©ìŽì±, íì¥ì±ì ìŽë»ê² í¥ììí€ëì§ ìì볎ìžì.
Python íšìí íë¡ê·žëë°: ë¶ë³ì±ê³Œ ìì íšì
íšìí íë¡ê·žëë°(FP)ì ê³ì°ì ìíì íšìì íê°ë¡ ì·šêžíê³ ìí ë³ê²œ ë° ê°ë³ ë°ìŽí°ë¥Œ íŒíë íë¡ê·žëë° íšë¬ë€ìì ëë€. Pythonì ìì íšìí ìžìŽë ìëì§ë§, ë§ì FP ìì¹ì íì©íì¬ ë ê¹ëíê³ ì ì§ë³Žìê° ì©ìŽíë©° ê²¬ê³ í ìœë륌 ìì±í ì ììµëë€. íšìí íë¡ê·žëë°ì ë ê°ì§ 귌볞ì ìž ê°ë ì ë¶ë³ì±ê³Œ ìì íšìì ëë€. ìŽë¬í ê°ë ì ìŽíŽíë ê²ì í¹í í¬ê³ ë³µì¡í íë¡ì ížë¥Œ ìì í ë Python ìœë© êž°ì ì í¥ììí€ë €ë 몚ë ì¬ëìê² ì€ìí©ëë€.
ë¶ë³ì±ìŽë 묎ììžê°ì?
ë¶ë³ì±ì ê°ì²Žê° ìì±ë íìë ìí륌 ìì í ì ìë í¹ì±ì ì믞í©ëë€. ë¶ë³ ê°ì²Žê° ìì±ë멎 ê·ž ê°ì ìëª ì£Œêž° ëì ìŒì íê² ì ì§ë©ëë€. ìŽë ìì± í ê°ì ë³ê²œí ì ìë ê°ë³ ê°ì²Žìë ëì¡°ì ì ëë€.
ë¶ë³ì±ìŽ ì€ìí ìŽì
- ëë²ê¹ ê°ìí: ë¶ë³ ê°ì²Žë ìëì¹ ìì ìí ë³ê²œê³Œ êŽë šë 몚ë ì¢ ë¥ì ë²ê·žë¥Œ ì ê±°í©ëë€. ë¶ë³ ê°ì²Žë íì ëìŒí ê°ì ê°ì§ì ìêž° ë묞ì ì€ë¥ì ììžì ì¶ì íë ê²ìŽ íšì¬ ì¬ìì§ëë€.
- ëìì± ë° ì€ë ë ìì ì±: ëìì± íë¡ê·žëë°ìì ì¬ë¬ ì€ë ëê° ê³µì ë°ìŽí°ì ì ê·Œíê³ ìì í ì ììµëë€. ê°ë³ ë°ìŽí° 구조ë 겜ì ìí ë° ë°ìŽí° ììì ë°©ì§íêž° ìíŽ ë³µì¡í ì êž ë©ì»€ëìŠì íìë¡ í©ëë€. ë¶ë³ ê°ì²Žë 볞ì§ì ìŒë¡ ì€ë ë ìì íë¯ë¡ ëìì± íë¡ê·žëë°ì í¬ê² ëšìíí©ëë€.
- í¥ìë ìºì±: ë¶ë³ ê°ì²Žë ìºì±ì íë¥í í볎ì ëë€. ê°ìŽ ì ë ë³íì§ ììŒë¯ë¡ ì€ëë ë°ìŽí°ì ëíŽ ê±±ì í íì ììŽ ìì íê² ê²°ê³Œë¥Œ ìºìí ì ììµëë€. ìŽë ìë¹í ì±ë¥ í¥ììŒë¡ ìŽìŽì§ëë€.
- ììž¡ ê°ë¥ì± í¥ì: ë¶ë³ì±ì ìœë륌 ë ììž¡ ê°ë¥íê³ ìŽíŽíêž° ìœê² ë§ëëë€. ë¶ë³ ê°ì²Žë ì¬ì©ëë 컚í ì€ížì êŽê³ììŽ íì ëìŒíê² ëìí ê²ìŽëŒê³ íì í ì ììµëë€.
Pythonì ë¶ë³ ë°ìŽí° íì
Pythonì ì¬ë¬ ëŽì¥ ë¶ë³ ë°ìŽí° íì ì ì ê³µí©ëë€:
- ì«ì(int, float, complex): ì«ì ê°ì ë¶ë³ì ëë€. ì«ì륌 ìì íë ê²ì²ëŒ 볎ìŽë 몚ë ì°ì°ì ì€ì ë¡ ì ì«ì륌 ìì±í©ëë€.
- 묞ììŽ(str): 묞ììŽì ë¶ë³ 묞ì ìíì€ì ëë€. 묞ììŽ ëŽì ê°ë³ 묞ì륌 ë³ê²œí ì ììµëë€.
- íí(tuple): ííì ë¶ë³ ì ë ¬ í목 컬ë ì ì ëë€. ííìŽ ìì±ë멎 ê·ž ììë ë³ê²œí ì ììµëë€.
- íë¡ìŠ ìžíž(frozenset): íë¡ìŠ ìžížë ìžížì ë¶ë³ ë²ì ì ëë€. ìžížì ëìŒí ì°ì°ì ì§ìíì§ë§ ìì± íìë ìì í ì ììµëë€.
ìì: ì€ì ë¶ë³ì±
묞ììŽì ë¶ë³ì±ì 볎ì¬ì£Œë ë€ì ìœë ì€ëí«ì ìŽíŽë³Žìžì:
string1 = "hello"
string2 = string1.upper()
print(string1) # Output: hello
print(string2) # Output: HELLO
ìŽ ìììì upper() ë©ìëë ì볞 묞ììŽ string1ì ìì íì§ ììµëë€. ëì , ì볞 묞ììŽì ë묞ì ë²ì ì í¬íšíë ì 묞ììŽ string2륌 ìì±í©ëë€. ì볞 묞ììŽì ë³ê²œëì§ ììµëë€.
ë°ìŽí° íŽëì€ë¡ ë¶ë³ì± ì뮬ë ìŽì íêž°
Pythonì Ʞ볞ì ìŒë¡ ì¬ì©ì ì ì íŽëì€ì ì격í ë¶ë³ì±ì ê°ì íì§ ìì§ë§, frozen=True ë§€ê°ë³ì륌 ì¬ì©íì¬ ë°ìŽí° íŽëì€ë¥Œ íì©í멎 ë¶ë³ ê°ì²Žë¥Œ ìì±í ì ììµëë€:
from dataclasses import dataclass
@dataclass(frozen=True)
class Point:
x: int
y: int
point1 = Point(10, 20)
# point1.x = 30 # This will raise a FrozenInstanceError
point2 = Point(10, 20)
print(point1 == point2) # True, because data classes implement __eq__ by default
ê³ ì ë ë°ìŽí° íŽëì€ ìžì€íŽì€ì ìì±ì ìì íë €ê³ í멎 FrozenInstanceErrorê° ë°ìíì¬ ë¶ë³ì±ì 볎ì¥í©ëë€.
ìì íšìë 묎ììžê°ì?
ìì íšìë ë€ì ìì±ì ê°ì§ íšìì ëë€:
- ê²°ì ë¡ ì : ëìŒí ì ë ¥ìŽ ì£ŒìŽì§ë©Ž íì ëìŒí ì¶ë ¥ì ë°íí©ëë€.
- ë¶ìì© ìì: ìžë¶ ìí(ì: ì ì ë³ì, ê°ë³ ë°ìŽí° 구조, I/O)륌 ìì íì§ ììµëë€.
ìì íšìê° ì ìµí ìŽì
- í ì€íž ì©ìŽì±: ìì íšìë 죌ìŽì§ ì ë ¥ì ëíŽ ì¬ë°ë¥ž ì¶ë ¥ì ìì±íëì§ íìžíêž°ë§ í멎 ëë¯ë¡ í ì€ížíêž°ê° ë§€ì° ìœìµëë€. ë³µì¡í í ì€íž í겜ì ì€ì íê±°ë ìžë¶ ì¢ ìì±ì 몚ìí íìê° ììµëë€.
- ì¡°í©ì±: ìì íšìë ë€ë¥ž ìì íšìì ìœê² ì¡°í©ëìŽ ë ë³µì¡í ë¡ì§ì ë§ë€ ì ììµëë€. ìì íšìì ììž¡ ê°ë¥í í¹ì± ëë¶ì 결곌 ì¡°í©ì ëìì ì¶ë¡ íêž°ê° ë ìœìµëë€.
- ë³ë ¬í: ìì íšìë 겜ì ìí ëë ë°ìŽí° ìì ìí ììŽ ë³ë ¬ë¡ ì€íë ì ììµëë€. ìŽë ëìì± íë¡ê·žëë° í겜ì ë§€ì° ì í©í©ëë€.
- ë©ëªšìŽì ìŽì : ìì íšì ížì¶ì 결곌ë ì€ë³µ ê³ì°ì íŒíêž° ìíŽ ìºì(ë©ëªšìŽì ìŽì )ë ì ììµëë€. ìŽë í¹í ê³ì° ë¹ì©ìŽ ë§ìŽ ëë íšìì ëíŽ ì±ë¥ì í¬ê² í¥ììí¬ ì ììµëë€.
- ê°ë ì±: ìì íšìì ì졎íë ìœëë ë ì ìžì ìŽê³ ìŽíŽíêž° ì¬ìŽ ê²œí¥ìŽ ììµëë€. ìœëê° ìŽë»ê² ìëíëì§ë³Žë€ë 묎ìì íëì§ì ì§ì€í ì ììµëë€.
ìì íšìì ë¹ìì íšìì ìì
ìì íšì:
def add(x, y):
return x + y
result = add(5, 3) # Output: 8
ìŽ add íšìë ëìŒí ì
ë ¥ì ëíŽ íì ëìŒí ì¶ë ¥(xì yì í©)ì ë°ííê³ ìžë¶ ìí륌 ìì íì§ ìêž° ë묞ì ìì íšìì
ëë€.
ë¹ìì íšì:
global_counter = 0
def increment_counter():
global global_counter
global_counter += 1
return global_counter
print(increment_counter()) # Output: 1
print(increment_counter()) # Output: 2
ìŽ increment_counter íšìë ì ì ë³ì global_counter륌 ìì íì¬ ë¶ìì©ì ìì±íêž° ë묞ì ë¹ìì íšìì
ëë€. íšìì ì¶ë ¥ì ížì¶ë íìì ë°ëŒ ë¬ëŒì§ë¯ë¡ ê²°ì ë¡ ìì¹ì ìë°í©ëë€.
Pythonìì ìì íšì ìì±íêž°
Pythonìì ìì íšì륌 ìì±íë €ë©Ž ë€ìì íŒíŽìŒ í©ëë€:
- ì ì ë³ì ìì .
- I/O ìì ìí (ì: íìŒ ìœêž° ëë ì°êž°, ìœìì ì¶ë ¥).
- ìžìë¡ ì ë¬ë ê°ë³ ë°ìŽí° 구조 ìì .
- ë€ë¥ž ë¹ìì íšì ížì¶.
ëì , ì ë ¥ ìžì륌 ë°ì íŽë¹ ìžììë§ êž°ë°íì¬ ê³ì°ì ìííê³ ìžë¶ ìí륌 ë³ê²œíì§ ìê³ ì ê°ì ë°ííë íšì륌 ë§ëë ë° ì§ì€íìžì.
ë¶ë³ì±ê³Œ ìì íšì ê²°í©íêž°
ë¶ë³ì±ê³Œ ìì íšìì ì¡°í©ì 믿ì ì ìì ë§íŒ ê°ë ¥í©ëë€. ë¶ë³ ë°ìŽí°ì ìì íšì륌 ì¬ì©í멎 ìœë륌 ì¶ë¡ íê³ í ì€ížíë©° ì ì§ë³Žìíêž°ê° íšì¬ ì¬ìì§ëë€. íšìê° íì ëìŒí ì ë ¥ì ëíŽ ëìŒí 결곌륌 ìì±íê³ , ì€ìë¡ ìžë¶ ìí륌 ìì íì§ ìì ê²ìŽëŒê³ íì í ì ììµëë€.
ìì: ë¶ë³ì± ë° ìì íšì륌 ì¬ì©í ë°ìŽí° ë³í
ë¶ë³ì±ê³Œ ìì íšì륌 ì¬ì©íì¬ ì«ì 목ë¡ì ë³ííë ë°©ë²ì 볎ì¬ì£Œë ë€ì ìì륌 ìŽíŽë³Žìžì:
def square(x):
return x * x
def process_data(data):
# Use list comprehension to create a new list with squared values
squared_data = [square(x) for x in data]
return squared_data
numbers = [1, 2, 3, 4, 5]
squared_numbers = process_data(numbers)
print(numbers) # Output: [1, 2, 3, 4, 5]
print(squared_numbers) # Output: [1, 4, 9, 16, 25]
ìŽ ìììì square íšìë ëìŒí ì
ë ¥ì ëíŽ íì ëìŒí ì¶ë ¥ì ë°ííê³ ìžë¶ ìí륌 ìì íì§ ìêž° ë묞ì ìì íšìì
ëë€. process_data íšì ëí íšìí ìì¹ì ì€ìí©ëë€. ì«ì 목ë¡ì ì
ë ¥ìŒë¡ ë°ì ì ê³±ë ê°ì í¬íšíë ì 목ë¡ì ë°íí©ëë€. ì볞 목ë¡ì ìì íì§ ìê³ ìŽë¥Œ ë¬ì±íì¬ ë¶ë³ì±ì ì ì§í©ëë€.
ìŽ ì ê·Œ ë°©ìì ë€ì곌 ê°ì ì¬ë¬ ìŽì ì ì ê³µí©ëë€:
- ì볞
numbers목ë¡ì ë³ê²œëì§ ììµëë€. ìŽë ìœëì ë€ë¥ž ë¶ë¶ìŽ ì볞 ë°ìŽí°ì ì졎í ì ìêž° ë묞ì ì€ìí©ëë€. process_dataíšìë ìì íšììŽë¯ë¡ í ì€ížíêž° ìœìµëë€. 죌ìŽì§ ì ë ¥ì ëíŽ ì¬ë°ë¥ž ì¶ë ¥ì ìì±íëì§ íìžíêž°ë§ í멎 ë©ëë€.- ìœëë ë ìœêž° ìœê³ ì ì§ë³Žìíêž° ì¢ìµëë€. ê° íšìê° ë¬Žìì íê³ ë°ìŽí°ë¥Œ ìŽë»ê² ë³ííëì§ ëª ííêž° ë묞ì ëë€.
ì€ì ì ì© ì¬ë¡ ë° ìì
ë¶ë³ì±ê³Œ ìì íšìì ìì¹ì ë€ìí ì€ì ìë늬ì€ì ì ì©ë ì ììµëë€. ëª ê°ì§ ììë ë€ì곌 ê°ìµëë€:
1. ë°ìŽí° ë¶ì ë° ë³í
ë°ìŽí° ë¶ìììë ì¢ ì¢ ëê·ëªš ë°ìŽí° ìžížë¥Œ ë³ííê³ ì²ëЬíŽìŒ í©ëë€. ë¶ë³ ë°ìŽí° 구조ì ìì íšì륌 ì¬ì©í멎 ë°ìŽí°ì 묎결ì±ì 볎ì¥íê³ ìœë륌 ëšìíí ì ììµëë€.
import pandas as pd
def calculate_average_salary(df):
# Ensure the DataFrame is not modified directly by creating a copy
df = df.copy()
# Calculate the average salary
average_salary = df['salary'].mean()
return average_salary
# Sample DataFrame
data = {'employee_id': [1, 2, 3, 4, 5],
'salary': [50000, 60000, 70000, 80000, 90000]}
df = pd.DataFrame(data)
average = calculate_average_salary(df)
print(f"The average salary is: {average}") # Output: 70000.0
2. íë ììí¬ë¥Œ ì¬ì©í ì¹ ê°ë°
React, Vue.js, Angularì ê°ì ìµì ì¹ íë ììí¬ë ì í늬ìŒìŽì ìí륌 êŽëЬíêž° ìíŽ ë¶ë³ì±ê³Œ ìì íšìì ì¬ì©ì ê¶ì¥í©ëë€. ìŽë 컎í¬ëížì ëìì ì¶ë¡ íêž° ìœê² íê³ ìí êŽëŠ¬ë¥Œ ëšìíí©ëë€.
ì륌 ë€ìŽ, Reactììë Ʞ졎 ìí ê°ì²Žë¥Œ ìì íë ëì ì ìí ê°ì²Žë¥Œ ìì±íì¬ ìí ì ë°ìŽížë¥Œ ìííŽìŒ í©ëë€. ìŽë ìíê° ë³ê²œë ë 컎í¬ëížê° ì¬ë°ë¥Žê² ë€ì ë ëë§ëëë¡ ë³Žì¥í©ëë€.
3. ëìì± ë° ë³ë ¬ ì²ëЬ
ìì ìžêžíë¯ìŽ, ë¶ë³ì±ê³Œ ìì íšìë ëìì± íë¡ê·žëë°ì ë§€ì° ì í©í©ëë€. ì¬ë¬ ì€ë ë ëë íë¡ìžì€ê° ê³µì ë°ìŽí°ì ì ê·Œíê³ ìì íŽìŒ í ë, ë¶ë³ ë°ìŽí° 구조ì ìì íšì륌 ì¬ì©í멎 ë³µì¡í ì êž ë©ì»€ëìŠì íìì±ìŽ ì¬ëŒì§ëë€.
Pythonì multiprocessing 몚ëì ìì íšì륌 í¬íšíë ê³ì°ì ë³ë ¬ííë ë° ì¬ì©ë ì ììµëë€. ê° íë¡ìžì€ë ë€ë¥ž íë¡ìžì€ì ê°ìíì§ ìê³ ë°ìŽí°ì ë³ë íì ì§í©ìì ìì
í ì ììµëë€.
4. êµ¬ì± êŽëЬ
êµ¬ì± íìŒì ì¢ ì¢ íë¡ê·žëš ìì ì í ë² ìœíê³ íë¡ê·žëš ì€í ì ë°ì ê±žì³ ì¬ì©ë©ëë€. êµ¬ì± ë°ìŽí°ë¥Œ ë¶ë³íê² ë§ë€ë©Ž ë°íì ì€ì ìêž°ì¹ ìê² ë³ê²œëì§ ìëë¡ ë³Žì¥í©ëë€. ìŽë ì€ë¥ë¥Œ ë°©ì§íê³ ì í늬ìŒìŽì ì ì 뢰ì±ì í¥ììí€ë ë° ëììŽ ë ì ììµëë€.
ë¶ë³ì±ê³Œ ìì íšì ì¬ì©ì ìŽì
- í¥ìë ìœë íì§: ë¶ë³ì±ê³Œ ìì íšìë ë ê¹ëíê³ ì ì§ë³Žìíêž° ì¬ì°ë©° ì€ë¥ ë°ì ê°ë¥ì±ìŽ ì ì ìœë륌 ë§ëëë€.
- í¥ìë í ì€íž ì©ìŽì±: ìì íšìë í ì€ížíêž°ê° ë§€ì° ì¬ì ëšì í ì€ížì íìí ë žë ¥ì ì€ì¬ì€ëë€.
- ëë²ê¹ ê°ìí: ë¶ë³ ê°ì²Žë ìëì¹ ìì ìí ë³ê²œê³Œ êŽë šë 몚ë ì¢ ë¥ì ë²ê·žë¥Œ ì ê±°íì¬ ëë²ê¹ ì ë ìœê² ë§ëëë€.
- í¥ìë ëìì± ë° ë³ë ¬ ì²ëЬ: ë¶ë³ ë°ìŽí° 구조ì ìì íšìë ëìì± íë¡ê·žëë°ì ëšìííê³ ë³ë ¬ ì²ëŠ¬ë¥Œ ê°ë¥íê² í©ëë€.
- í¥ìë ì±ë¥: ë©ëªšìŽì ìŽì 곌 ìºì±ì ìì íšì ë° ë¶ë³ ë°ìŽí°ì íšê» ìëí ë ì±ë¥ì í¬ê² í¥ììí¬ ì ììµëë€.
ëì 곌ì ë° ê³ ë € ì¬í
ë¶ë³ì±ê³Œ ìì íšìë ë§ì ìŽì ì ì ê³µíì§ë§, ëª ê°ì§ ëì 곌ì ì ê³ ë € ì¬íë ë°ëŠ ëë€:
- ë©ëªšëЬ ì€ë²í€ë: Ʞ졎 ê°ì²Žë¥Œ ìì íë ëì ì ê°ì²Žë¥Œ ìì±í멎 ë©ëªšëЬ ì¬ì©ëìŽ ìŠê°í ì ììµëë€. ìŽë í¹í ëê·ëªš ë°ìŽí° ìžížë¥Œ ë€ë£° ë ê·žë ìµëë€.
- ì±ë¥ ì ì¶©: 겜ì°ì ë°ëŒ ì ê°ì²Žë¥Œ ìì±íë ê²ìŽ êž°ì¡Ž ê°ì²Žë¥Œ ìì íë ê²ë³Žë€ ë늎 ì ììµëë€. ê·žë¬ë ë©ëªšìŽì ìŽì ë° ìºì±ì ì±ë¥ ìŽì ìŽ ìŽë¬í ì€ë²í€ë륌 ì¢ ì¢ ë¥ê°í ì ììµëë€.
- íìµ ê³¡ì : íšìí íë¡ê·žëë° ì€íìŒì ì±ííë €ë©Ž í¹í ëª ë ¹í íë¡ê·žëë°ì ìµìí ê°ë°ììê²ë ì¬ê³ ë°©ìì ì íìŽ íìí ì ììµëë€.
- íì ì í©í ê²ì ìë: íšìí íë¡ê·žëë°ìŽ ëªšë 묞ì ì íì ìµì ì ì ê·Œ ë°©ìì ìëëë€. 겜ì°ì ë°ëŒ ëª ë ¹í ëë ê°ì²Ž ì§í¥ ì€íìŒìŽ ë ì í©í ì ììµëë€.
ëªšë² ì¬ë¡
Pythonìì ë¶ë³ì±ê³Œ ìì íšì륌 ì¬ì©í ë ëª ì¬íŽìŒ í ëª ê°ì§ ëªšë² ì¬ë¡ë ë€ì곌 ê°ìµëë€:
- ê°ë¥í í ë¶ë³ ë°ìŽí° íì ì ì¬ì©íìžì. Pythonì ì«ì, 묞ììŽ, íí, íë¡ìŠ ìžížì ê°ì ì¬ë¬ ëŽì¥ ë¶ë³ ë°ìŽí° íì ì ì ê³µí©ëë€.
frozen=Trueê° ìë ë°ìŽí° íŽëì€ë¥Œ ì¬ì©íì¬ ë¶ë³ ë°ìŽí° 구조륌 ìì±íìžì. ìŽë¥Œ íµíŽ ì¬ì©ì ì ì ë¶ë³ ê°ì²Žë¥Œ ìœê² ì ìí ì ììµëë€.- ì ë ¥ ìžì륌 ë°ê³ ìžë¶ ìí륌 ìì íì§ ìê³ ì ê°ì ë°ííë ìì íšì륌 ìì±íìžì. ì ì ë³ì ìì , I/O ìì ìí, ë€ë¥ž ë¹ìì íšì ížì¶ì íŒíìžì.
- ì볞 ë°ìŽí° 구조륌 ìì íì§ ìê³ ë°ìŽí°ë¥Œ ë³ííë €ë©Ž 늬ì€íž 컎í늬íšì ë° ì ëë ìŽí° ííìì ì¬ì©íìžì.
- ìì íšì ížì¶ 결곌륌 ìºìíêž° ìíŽ ë©ëªšìŽì ìŽì ì¬ì©ì ê³ ë €íìžì. ìŽë ê³ì° ë¹ì©ìŽ ë§ìŽ ëë íšìì ëíŽ ì±ë¥ì í¬ê² í¥ììí¬ ì ììµëë€.
- ì ê°ì²Ž ìì±ê³Œ êŽë šë ë©ëªšëЬ ì€ë²í€ë륌 ìŒëì ëìžì. ë©ëªšëЬ ì¬ì©ëìŽ ë¬žì ìž ê²œì°, ê°ë³ ë°ìŽí° 구조륌 ì¬ì©íê±°ë ê°ì²Ž ìì±ì ìµìííëë¡ ìœë륌 ìµì ííë ê²ì ê³ ë €íìžì.
ê²°ë¡
ë¶ë³ì±ê³Œ ìì íšìë Python ìœëì íì§, í ì€íž ì©ìŽì± ë° ì ì§ë³Žìì±ì í¬ê² í¥ììí¬ ì ìë íšìí íë¡ê·žëë°ì ê°ë ¥í ê°ë ì ëë€. ìŽë¬í ìì¹ì ë°ìë€ììŒë¡ìš ë ê²¬ê³ íê³ ììž¡ ê°ë¥íë©° íì¥ ê°ë¥í ì í늬ìŒìŽì ì ìì±í ì ììµëë€. ëª ì¬íŽìŒ í ëª ê°ì§ ëì 곌ì ì ê³ ë € ì¬íìŽ ìì§ë§, í¹í í¬ê³ ë³µì¡í íë¡ì ížë¥Œ ìì í ë ë¶ë³ì±ê³Œ ìì íšìì ìŽì ìŽ ëšì ë³Žë€ ë í° ê²œì°ê° ë§ìµëë€. Python êž°ì ì ê³ì ê°ë°í멎ì ìŽë¬í íšìí íë¡ê·žëë° êž°ì ì ë구 ììì íµí©íë ê²ì ê³ ë €íŽ ë³Žìžì.
ìŽ ëžë¡ê·ž ê²ì묌ì Pythonìì ë¶ë³ì±ê³Œ ìì íšì륌 ìŽíŽíë ë° ê²¬ê³ í êž°ë°ì ì ê³µí©ëë€. ìŽë¬í ê°ë 곌 ëªšë² ì¬ë¡ë¥Œ ì ì©íšìŒë¡ìš ìœë© êž°ì ì í¥ììí€ê³ ë ì 뢰í ì ìê³ ì ì§ë³Žì ê°ë¥í ì í늬ìŒìŽì ì 구ì¶í ì ììµëë€. ë¶ë³ì±ê³Œ ìì íšìì êŽë šë ì ì¶©ì 곌 ëì 곌ì 륌 ê³ ë €íê³ í¹ì ì구 ì¬íì ê°ì¥ ì í©í ì ê·Œ ë°©ìì ì ííë ê²ì ìì§ ë§ìžì. ìŠê±°ìŽ ìœë© ëìžì!