π§ ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π° Python? Π£Π·Π½Π°ΠΉΡΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΡΠ°Π³ΠΈ ΠΈ ΡΠΎΠ²Π΅ΡΡ Π·Π΄Π΅ΡΡ π§
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!'
if __name__ == '__main__':
app.run()
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π΅Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ URL Π°Π΄ΡΠ΅Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΎΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Flask, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π° Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Ρ
Π½ΠΈΠΊΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ Engine, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π²ΠΈΠΆΠΊΠ°:
class Engine:
def __init__(self):
self.power = 0
def start(self):
print("ΠΠ²ΠΈΠ³Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΡΡΠ΅Π½")
def stop(self):
print("ΠΠ²ΠΈΠ³Π°ΡΠ΅Π»Ρ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½")
engine = Engine()
engine.start()
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ Engine Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ start() ΠΈ stop(), ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ engine, ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ start(), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "ΠΠ²ΠΈΠ³Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΡΡΠ΅Π½".
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅Ρ
Π½ΠΈΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° Π½Π° Python.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π° Python
Python - ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Python ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π³ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π²ΠΈΠΆΠΊΠ° Π½Π° Python.
Π¨Π°Π³ 1: ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π²ΠΈΠΆΠΊΠ°
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΄Π²ΠΈΠΆΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. Π§ΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°ΡΡ Π²Π°Ρ Π΄Π²ΠΈΠΆΠΎΠΊ? ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½ΡΡ , ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠΌ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΌ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΡΠΈΠΌΠ΅Ρ:
class MyEngine:
def process_image(self, image):
# ΠΠ°Ρ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
def analyze_data(self, data):
# ΠΠ°Ρ ΠΊΠΎΠ΄ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ
Π¨Π°Π³ 2: Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ²
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π²ΠΈΠΆΠΊΠ° Π½Π° Python Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΊΠ»Π°ΡΡΡ. ΠΠΎΠ΄ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .py, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Π°ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ:
class MyEngine:
def process_image(self, image):
# ΠΠ°Ρ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
def analyze_data(self, data):
# ΠΠ°Ρ ΠΊΠΎΠ΄ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ
Π¨Π°Π³ 3: ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΠ»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π΄Π²ΠΈΠΆΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΡ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ - ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π΄Π²ΠΈΠΆΠΊΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°. ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ - ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Π΄Π²ΠΈΠΆΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°ΡΡΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΈΠΌΠ΅Ρ:
class MyEngine:
def process_image(self, image):
# image - Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
# ΠΠ°Ρ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
# return processed_image - Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
def analyze_data(self, data):
# data - Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
# ΠΠ°Ρ ΠΊΠΎΠ΄ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ
# return analysis_result - Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
Π¨Π°Π³ 4: ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΠ° ΡΡΠΎΠΌ ΡΠ°Π³Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ Π²Π°ΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΊΠ»Π°ΡΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π»ΠΎΠ³ΠΈΠΊΡ ΡΠ°Π±ΠΎΡΡ Π΄Π²ΠΈΠΆΠΊΠ° ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°ΡΡΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΠ°Π½Π΅Π΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ:
class MyEngine:
def process_image(self, image):
# image - Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
# ΠΠ°Ρ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
# return processed_image - Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
def analyze_data(self, data):
# data - Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
# ΠΠ°Ρ ΠΊΠΎΠ΄ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ
# return analysis_result - Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π΄Π²ΠΈΠΆΠΊΠ°
engine = MyEngine()
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π²ΠΈΠΆΠΊΠ°
image = read_image("image.jpg")
processed_image = engine.process_image(image)
result = engine.analyze_data(processed_image)
# ΠΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
print(result)
Π¨Π°Π³ 5: Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ°
ΠΠΎΡΠ»Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ Π²Π°Ρ Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΈΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ:
class MyEngine:
def process_image(self, image):
# image - Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
# ΠΠ°Ρ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
# return processed_image - Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
def analyze_data(self, data):
# data - Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
# ΠΠ°Ρ ΠΊΠΎΠ΄ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ
# return analysis_result - Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π΄Π²ΠΈΠΆΠΊΠ°
engine = MyEngine()
# ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π²ΠΈΠΆΠΊΠ°
image = read_image("image.jpg")
processed_image = engine.process_image(image)
result = engine.analyze_data(processed_image)
# ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
assert result == expected_result
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° Π½Π° Python ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΠΈ ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΎΠΏΡΡΠΎΠΌ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π²ΠΈΠΆΠΊΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΡ. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°!