Python Usean rivin Kommentit: Sinun Kaksi Parasta Vaihtoehtoa


Vaihtoehto 2: Käyttämällä Multi-line Jouset kuin Huomautuksia

Toinen vaihtoehto kirjoittaa ”oikea” multi-line kommentteja Python on käyttää multi-line jouset, jossa """ syntax luovalla tavalla. Tässä on esimerkki:

"""This is a "block comment" in Python, madeout of a mult-line string constant.This actually works quite well!"""answer = 42

Kuten näet, voit käyttää triple-lainattu jouset luoda jotain, joka muistuttaa usean rivin kommentti Python., Sinun tarvitsee vain varmista, että sinulla ensimmäinen luetelmakohta """ oikein, muuten saat SyntaxError. Esimerkiksi, jos haluat määrittää lohko kommentti sisällä toimintoa, jossa tätä tekniikkaa sinun täytyy tehdä se, kuten tämä:

pidä mielessä, että tämä tekniikka ei luo ”totta” kommentteja. Tämä yksinkertaisesti lisää tekstivakion, joka ei tee mitään. Se on sama kuin lisäämällä säännöllinen yhden rivin merkkijonon jonnekin koodin ja koskaan päästä sitä.,

Kuitenkin, kuten orvoksi string vakio ei näy bytecode, tehokkaasti kääntämällä se osaksi usean rivin kommentti. Tässä on todiste siitä, että käyttämätön merkkijono ei näy CPython bytecode purkaminen:

Kuitenkin, olla varovainen, jos sijoitat nämä ”kommentit” – koodi., Jos merkkijono seuraa heti, kun toiminto allekirjoitus, luokan määrittely, tai alussa moduuli, se muuttuu docstring, joka on eri merkitys kokonaan Python:

Docstring (”dokumentaatio jouset”) voit liittää luettavaan asiakirjat Python moduulit, toiminnot, luokat ja menetelmät. Ne ovat erilaisia kuin lähdekoodia kommentteja:

kommentti on poistettu, jäsennin, kun taas docstring päätyy bytecode ja liittyy dokumentoitu kohde. Sitä voi käyttää jopa ohjelmallisesti ajonaikoina.,

Kuten aiemmin sanoin, ainoa tapa saada ”todellinen” multi-line kommentteja Python, jotka saavat huomiotta parser on käyttää useita # yhden rivin kommentit.

myönnän, että olin hieman yllättynyt löytää tämä ”vale” estää kommentoinnin tyyli oli vahvistanut Guido van Rossum, luoja Python:

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *