🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° 🐍
2.45K subscribers
1.07K photos
26 videos
285 links
🐍 Канал ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° языкС Python. ВСматичСскиС ΡƒΡ€ΠΎΠΊΠΈ ΠΈ Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ.

πŸ‘½ Админ - @it_dashka
πŸ”Š ΠšΡƒΠΏΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ: https://telega.in/c/byteofpython

πŸ‘‰ Π§Π°Ρ‚: @abyteofpython
πŸ‘‰ ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ: @byteofpython
Download Telegram
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?

x = 0

def outer():
x = 1
def inner():
nonlocal x
x += 1
return x
print("A", inner(), x)
x = 5
print("B", inner(), x)

outer()
print("G", x)
πŸ‘©β€πŸ’» ДинамичСскоС созданиС классов β€” ΠΌΠ΅Ρ‚Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² чистом Π²ΠΈΠ΄Π΅

Π’ Python классы β€” это Ρ‚ΠΎΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ "Π½Π° Π»Π΅Ρ‚Ρƒ" с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ type(). Π­Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ ΠΊ динамичСскому API, автоматичСским модСлям ΠΈ DSL.

➑️ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

def make_model(name, **fields):
return type(name, (object,), fields)

User = make_model("User", name="Анна", age=25)
print(User.name) # Анна

admin = User()
admin.role = "admin"
print(admin.role) # admin


πŸ“Œ Π—Π΄Π΅ΡΡŒ type() создаёт Π½ΠΎΠ²Ρ‹ΠΉ класс User прямо Π²ΠΎ врСмя исполнСния.
Please open Telegram to view this post
VIEW IN TELEGRAM