π Junior Python Developer: Π§ΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ ΠΈ ΠΊΠ°ΠΊ ΡΡΠΏΠ΅Ρ Π½Π°ΠΉΡΠΈ π
Junior Python ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- ΠΡΠ½ΠΎΠ²Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Python, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΈΠΊΠ»Ρ.
- Π Π°Π±ΠΎΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² Python.
- Π‘ΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΊΠΈ, ΠΊΠΎΡΡΠ΅ΠΆΠΈ, ΡΠ»ΠΎΠ²Π°ΡΠΈ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°.
# ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π² Python
def ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅(ΠΈΠΌΡ):
print(f'ΠΡΠΈΠ²Π΅Ρ, {ΠΈΠΌΡ}!')
ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅("ΠΠ°ΡΠΈΡ")
- Π Π°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ.
- ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ.
- ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΠΠ), ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡΡ, ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ.
# ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² Python
class Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ:
def __init__(self, ΠΈΠΌΡ, Π²ΠΎΠ·ΡΠ°ΡΡ):
self.ΠΈΠΌΡ = ΠΈΠΌΡ
self.Π²ΠΎΠ·ΡΠ°ΡΡ = Π²ΠΎΠ·ΡΠ°ΡΡ
ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ1 = Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ("ΠΠ²Π°Π½", 25)
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
Π§ΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ junior python developer?
Junior ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Python ΡΡΠΎΠΈΡ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΏΠ΅Π½ΡΠΊΠ΅ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠΉ Π»Π΅ΡΡΠ½ΠΈΡΡ. Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΡΠΏΠ΅Ρ Π° Π² ΡΡΠΎΠΌ ΠΏΠΎΠ»Π΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π½Π°Π²ΡΠΊΠ°ΠΌΠΈ ΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ junior python developer.
1. ΠΡΠ½ΠΎΠ²Ρ ΡΠ·ΡΠΊΠ° Python
ΠΠ°ΠΆΠ½ΠΎ Π½Π°ΡΠ°ΡΡ Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠ·ΡΠΊΠ° Python. Junior ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π±ΡΡΡ Π·Π½Π°ΠΊΠΎΠΌΡΠΌ Ρ:
- ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
- Π£ΡΠ»ΠΎΠ²Π½ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ
- Π¦ΠΈΠΊΠ»Π°ΠΌΠΈ
- Π€ΡΠ½ΠΊΡΠΈΡΠΌΠΈ
- Π‘ΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡΠΌΠΈ
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Python:
# ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Python
name = "ΠΠ°ΡΡ"
age = 25
print("ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ", name)
print("ΠΠ½Π΅", age, "Π»Π΅Ρ")
2. Π Π°Π±ΠΎΡΠ° Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ
Π Python ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΎΡΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅. Junior ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΡΡΠΎΠΈΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ:
- NumPy - Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΎΠΉ ΠΈ Π½Π°ΡΡΠ½ΡΠΌΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ
- Pandas - Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
- Django - Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
- Flask - Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π»Π΅Π³ΠΊΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy:
import numpy as np
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°
numbers = [1, 2, 3, 4, 5]
arr = np.array(numbers)
# ΠΡΠ²ΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°
print(arr.ndim)
# ΠΡΠ²ΠΎΠ΄ ΡΠΎΡΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Π°
print(arr.shape)
3. Π Π°Π±ΠΎΡΠ° Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
Π Π°Π±ΠΎΡΠ° Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Junior ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python.
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π² Python - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ORM (Object-Relational Mapping) ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ SQLAlchemy. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ SQLAlchemy:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
engine = create_engine('sqlite:///mydatabase.db', echo=True)
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
# ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
user = User(name="ΠΠ°ΡΡ", age=25)
session.add(user)
session.commit()
4. Π Π°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ
Junior ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Git. ΠΠ΅ΡΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΡ ΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ°ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄ Git:
# ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
git clone https://github.com/user/repo.git
# ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΈΠ½Π΄Π΅ΠΊΡ
git add .
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°
git commit -m "ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ"
# ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
git push origin master
5. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
Π₯ΠΎΡΠΎΡΠΎ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ. Junior ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π½Π°ΠΊΠΎΠΌ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° - unittest.
ΠΡΠΈΠΌΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ unittest:
import unittest
def add(a, b):
return a + b
class TestAdd(unittest.TestCase):
def test_add(self):
self.assertEqual(add(2, 3), 5)
self.assertEqual(add(0, 0), 0)
self.assertEqual(add(-1, 1), 0)
if __name__ == '__main__':
unittest.main()
ΠΡΠΎ Π»ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ junior python developer Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ. ΠΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ, ΠΈΠ·ΡΡΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°ΡΡΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°.
Π£ΡΠΏΠ΅Ρ ΠΎΠ² Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Python!