Python Multi-linka Komentáře: Vaše Dvě Nejlepší Možnosti


2. Možnost: Pomocí Multi-line Řetězce jako Komentáře

Další možností pro psaní „správné“ multi-linka komentáře v Pythonu je použití multi-line řetězce s """ syntaxe v kreativní způsoby. Zde je příklad:

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

Jak můžete vidět, můžete použít triple-citoval provázků vytvořit něco, co se podobá víceřádkový komentář v jazyce Python., Stačí se ujistit, že odsadíte první """ správně, jinak získáte SyntaxError. Pokud například chcete definovat blokový komentář uvnitř funkce s touto technikou, musíte to udělat takto:

jen mějte na paměti, že tato technika nevytváří „pravdivé“ Komentáře. To jednoduše vloží textovou konstantu, která nic nedělá. Je to stejné jako vložení pravidelného jednořádkového řetězce někam do kódu a nikdy k němu nepřistupujte.,

taková osamocená řetězcová konstanta se však v bytecode nezobrazí a efektivně ji změní na víceřádkový komentář. Zde je důkaz, že nepoužitý řetězec se neobjeví v demontáži CPython bytecode:

buďte však opatrní, kam tyto „komentáře“ umístíte do kódu., Pokud řetězec následuje hned poté, funkce, podpis, definice třídy, nebo na začátek modulu, to se změní na docstring, který má jiný význam úplně v Pythonu,

Docstrings („dokumentace struny“) umožňují přidružit čitelné dokumentace s Python moduly, funkce, třídy a metody. Jsou odlišné od komentářů zdrojového kódu:

komentář je analyzátorem odstraněn, zatímco docstring končí v bytecode a je spojen s dokumentovaným objektem. Lze k němu dokonce přistupovat programově za běhu.,

jak jsem řekl dříve, jediný způsob, jak získat „skutečné“ multi-linka komentáře v Pythonu, které se dostanou ignorovány parser je použít více # jednořádkové komentáře.

přiznám se, že jsem byl trochu překvapen, když jsem zjistil, že tento „falešný“ blokový styl komentování byl schválen Guidem van Rossumem, tvůrcem Pythonu:

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *