Article View: pl.comp.programming
Article #217427Re: Python i klasy oraz dawka magii czyli niezrozumienie
From: Piotr Wladyka
Date: Wed, 30 Jun 2021 14:49
Date: Wed, 30 Jun 2021 14:49
23 lines
2801 bytes
2801 bytes
środa, 30 czerwca 2021 o 15:36:51 UTC+2 Roman Tyczka napisał(a): > A co konkretnie robi ten zapis: > def name(self) -> str: > """ > A string naming this mode (e.g. "ECB", "CBC"). > """ > Jak go czytać, co wykonuje? Pierwsza linijka, z tego, co pamiętam, to rzadko używane w pythonie (jeśli nie kombinujemy z numPy, PyPy, tudzież interfejsami do bibliotek napisanych w C/C++) rozszerzenie mające wymuszać string-type na wyjściu funkcji "name()" - nie wiem jak i kiedy działa, bo sam nigdy nie używałem. Reszta to klasyczny help/komentarz do funkcji wyświetlany po wywołaniu np "help(Mode.name)" bądź "ECB.name.__doc__". Dużo bardziej tutaj istotna jest linia: - - - - - @abc.abstractproperty - - - - - nad "def name...", ale to jest właśnie część meta-programingu - tematyka szeroka i dosyć mocno abstrakcyjna. Chyba musiałbym się pobawić kodem żeby samemu wyczaić o co konkretnie chodzi. Tak na szybkiego zajrzałem w pakiet (np. plik "main/src/cryptography/hazmat/backends/openssl/backend.py" daje pewien ogólny zarys) i wygląda na to, że powodem użycia meta-programmingu jest nie różnorodność środowisk (jak napisałem), ale sama idea algorytmu: parser składający/odczytujący poszczególne pola na interfejsie (ASN1). To mi wystarczy żeby nie włazić głębiej - rozczajanie kodu zazwyczaj bywa bardziej czasochłonne niż jego pisanie. ;) --- pzdr, Vlad P
Technical Details
Message-ID:
<9f7f977b-4de8-4e1b-8a48-2f6b1ef4e09fn@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<603f79a0$0$514$65785112@news.neostrada.pl> <3678d395-cb91-455a-86f1-996ce9daab84n@googlegroups.com> <60dc7353$0$547$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:9e46:: with SMTP id h67mr32826856qke.439.1625064587964; Wed, 30 Jun 2021 07:49:47 -0700 (PDT) X-Received: by 2002:ac8:7dc9:: with SMTP id c9mr31759560qte.169.1625064587799; Wed, 30 Jun 2021 07:49:47 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Wed, 30 Jun 2021 07:49:47 -0700 (PDT) In-Reply-To: <60dc7353$0$547$65785112@news.neostrada.pl> Injection-Info: google-groups.googlegroups.com; posting-host=2a02:a31a:a042:2c80:466d:57ff:fea3:3dd7; posting-account=M3tVVAkAAAB2-Rch_oMIXei0hytn9P48 NNTP-Posting-Host: 2a02:a31a:a042:2c80:466d:57ff:fea3:3dd7 References: <603f79a0$0$514$65785112@news.neostrada.pl> <3678d395-cb91-455a-86f1-996ce9daab84n@googlegroups.com> <60dc7353$0$547$65785112@news.neostrada.pl> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <9f7f977b-4de8-4e1b-8a48-2f6b1ef4e09fn@googlegroups.com> Subject: Re: Python i klasy oraz dawka magii czyli niezrozumienie From: Piotr Wladyka <piotr.wladyka@gmail.com> Injection-Date: Wed, 30 Jun 2021 14:49:47 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit