ru
Feedback

НС ΠΏΠΎΠΏΠ°Π΄ΠΈΡ‚Π΅ΡΡŒ Π½Π° ΠΊΠ°Π½Π°Π» Π±ΠΎΡ‚Π°Π²ΠΎΠ΄Π°! Telemetrio Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°Π½Π°Π»Ρ‹ πŸ‘‰ Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΡƒ β€” ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ подписку

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° 🐍

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° 🐍

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² Telegram

🐍 Канал ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° языкС Python. ВСматичСскиС ΡƒΡ€ΠΎΠΊΠΈ ΠΈ Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ. πŸ‘½ Админ - @tg_adminisrator πŸ”Š ΠšΡƒΠΏΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ: https://telega.in/c/byteofpython πŸ‘‰ Π§Π°Ρ‚: @abyteofpython πŸ‘‰ ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ: @byteofpython

Π‘ΠΎΠ»ΡŒΡˆΠ΅
2 334
ΠŸΠΎΠ΄ΠΏΠΈΡΡ‡ΠΈΠΊΠΈ
НСт Π΄Π°Π½Π½Ρ‹Ρ…24 часа
-117 Π΄Π½Π΅ΠΉ
-3730 Π΄Π½Π΅ΠΉ
Архив постов
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄ свСрху?
Anonymous voting

photo content

πŸ’© Какова Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ getattr ΠΈ getattribute? Оба этих ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ магичСскими. πŸ”˜getattr

class Missing:
    attr = 42

    def getattr(self, name):
        print(f"In getattr, asked for {name}")
        return 73

m = Missing()
print(m.attr)  # 42
print(m.xyz)  # In getattr, asked for xyz; 73
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запроса Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° xyz. πŸ”˜getattribute

class Always:
    attr = 42

    def getattribute(self, name):
        print(f"In getattribute, asked for {name}")
        return 73

a = Always()
print(a.attr)  # In getattribute, asked for attr; 73
print(a.xyz)  # In getattribute, asked for xyz; 73
Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов всСх Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², ΠΊΠ°ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… (attr), Ρ‚Π°ΠΊ ΠΈ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… (xyz). βœ… Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, getattribute β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт всСми запросами Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ getattr вызываСтся, ΠΊΠΎΠ³Π΄Π° getattribute Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚.

βœˆοΈΠœΠ΅Ρ‚ΠΎΠ΄ subclasshook ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния, являСтся Π»ΠΈ ΠΎΠ΄ΠΈΠ½ класс подклассом Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Он вызываСтся ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ isin
βœˆοΈΠœΠ΅Ρ‚ΠΎΠ΄ subclasshook ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния, являСтся Π»ΠΈ ΠΎΠ΄ΠΈΠ½ класс подклассом Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Он вызываСтся ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ isinstance() ΠΈ issubclass() для опрСдСлСния ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ наслСдования ΠΌΠ΅ΠΆΠ΄Ρƒ классами. ⬆️Этот ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… классов. βž‘οΈΠŸΡ€ΠΈΠΌΠ΅Ρ€:
class A:
    def init(self, value):
              self.value = value

class B:
    def init(self, value):
        self.value = value

    def subclasshook(cls, subclass):
        return (hasattr(subclass, 'value') and
                callable(subclass.value) and
                subclacc.value.name == 'print_value')

class C:
    def init(self, value):
        self.value = value

    def  print_value(self):
         print(self.value)

a = A(5)
b = B(10)
c = C(15)

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°
print(issubclass(C, B)) # True
print(issubclass(A, B)) # False
⬆️В ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ subclasshook класса B провСряСт, Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρƒ подкласса ΠΌΠ΅Ρ‚ΠΎΠ΄ print_value. Если Π΄Π°, Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, Ρ‡Ρ‚ΠΎ позволяСт ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ подклассом B.

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄
Anonymous voting

photo content

photo content

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
Anonymous voting

photo content

photo content

ΠŸΡ€ΠΎΠΊΠ°Ρ‡Π°ΠΉ свои скилы с АлСксССм Π Ρ‹Π±Π°ΠΊΠΎΠΌ! πŸš€ НадоСли скучныС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ? πŸ’» ВрСмя ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ! πŸŽ–ΠŸ
ΠŸΡ€ΠΎΠΊΠ°Ρ‡Π°ΠΉ свои скилы с АлСксССм Π Ρ‹Π±Π°ΠΊΠΎΠΌ! πŸš€ НадоСли скучныС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ? πŸ’» ВрСмя ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ! πŸŽ–ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ Π±Π΅ΠΊΠ΅Π½Π΄Π΅Ρ€ΠΎΠ² ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² инфраструктуры Π½Π° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ трСхмСсячный курс ΠΏΠΎ систСмному Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ высоконагруТСнных систСм ΠΎΡ‚ АлСксСя Π Ρ‹Π±Π°ΠΊΠ°, Π³Π»Π°Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Bumble/Badoo с 20-Π»Π΅Ρ‚Π½ΠΈΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π² highload ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π’ Ρ‡Π΅ΠΌ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ этого курса? βœ… ОгнСнная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° с ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π½Π΅ΠΉ обучСния Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… кСйсах ΠΈ собствСнной инфраструктурС βœ… ΠŸΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Β«ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚Β» Ρ…Π°ΠΉΠ»ΠΎΠ°Π΄ систСм, ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ βœ… Π’ΠΎΠΏΠΎΠ²Ρ‹Π΅ Ρ„ΠΈΡˆΠΊΠΈ ΠΈ знания ΠΏΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ систСмному Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² (1-100M DAU) βœ… Π–ΠΈΠ²Ρ‹Π΅ сСссии, Π±Ρ€Π΅ΠΉΠ½ΡˆΡ‚ΠΎΡ€ΠΌΡ‹, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€œΡƒ доски” На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Ρƒ вас появится ΠΎΠΏΡ‹Ρ‚: βœ… ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ слоТных систСм βœ… Нагрузочного тСстирования своСй инфраструктуры (Π²Ρ‹ΠΆΠΌΠ΅Ρ‚Π΅ 100К запросов) βœ… ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ рСсурсов для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с большим количСством ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ βœ… ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ IT-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² βœ… ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с кластСрами Redis, CockroachDB ΠΈ ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ PostgreSQL/MySQL βœ… И ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅! ➑️ РСгистрируйся ΠΈ погруТайся Π² нСскучный Ρ…Π°ΠΉΠ»ΠΎΠ°Π΄ Π Π΅ΠΊΠ»Π°ΠΌΠ° ИП Π Ρ‹Π±Π°ΠΊ А. А. ИНН 771407709607

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
Anonymous voting

photo content

✈️Python ΠΈΠΌΠ΅Π΅Ρ‚ встроСнный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ zipfile, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ ZIP. Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим просто
✈️Python ΠΈΠΌΠ΅Π΅Ρ‚ встроСнный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ zipfile, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ ZIP. Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ возмоТности:
import zipfile

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ZIP Ρ„Π°ΠΉΠ»
with zipfile.ZipFile('Π½ΠΎΠ²Ρ‹ΠΉ_Π°Ρ€Ρ…ΠΈΠ².zip', 'w') as new_zip:
    # ДобавляСм Ρ„Π°ΠΉΠ»Ρ‹ Π² Π°Ρ€Ρ…ΠΈΠ²
    new_zip.write('file1.txt')
    new_zip.write('file2.txt')
    # МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости
⬆️Этот нСбольшой ΠΊΠΎΠ΄ создаСт Π½ΠΎΠ²Ρ‹ΠΉ ZIP Π°Ρ€Ρ…ΠΈΠ² ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ_Π°Ρ€Ρ…ΠΈΠ².zip ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² Π½Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ file1.txt ΠΈ file2.txt. βž‘οΈΠœΠΎΠ΄ΡƒΠ»ΡŒ zipfile ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌΠΈ возмоТностями, позволяя ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ содСрТимоС Π°Ρ€Ρ…ΠΈΠ²Π°, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ нСпосрСдствСнно ΠΈΠ· ΠΊΠΎΠ΄Π° Python.Если Π²Π°ΠΌ интСрСсно ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ zipfile ΠΈΠ»ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ Π² Python, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Python.

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ этот ΠΊΠΎΠ΄?
Anonymous voting

photo content

photo content

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ этот ΠΊΠΎΠ΄?
Anonymous voting

photo content

photo content