Python - Три кавычки и ХаkеРсkиЙ способ "комментирования" кода
Primary tabs
Сегодня расскажу про интересную фитчу - три кавычки)))
Любые три кавычки вида " или же ' скажут Питону, что дальнейшие строки до следующих трёх кавычек нужно воспринимать как многострочную строку (прошу прощение за тавтологию).
str = """ take you mind and put into trash""" # создали строку из строк вида: "take you mind\nand put\ninto trash", где \n - символ конца строки #теперь тот же эффект другими кавычками: str = ''' take you mind and put into trash'''
Но это можно использовать для временного сокрытия от интерпритатора кода:
x = 3.23 """ print (x) #выполняться не будет s = "spam" #выполняться не будет """ y = x+10
Поставив три кавычки интерпритатор просто создаст строку с кодом и потом её удалит))) Тем самым мы его обманываем - Способ УЖАСНЫЙ, так как не красив, и ресурсоёмок - но во время тестирования, и если ваша среда программирования не поддерживает коментирования большого объёма строк, а строк, нуждающихся в комментировании ну уж очень много - это может помочь)))
- Log in to post comments
- 23695 reads
vedro-compota
Sat, 10/27/2012 - 22:12
Permalink
мм)) у меня два вот два
мм)) у меня два вот два вопроса =
_____________
матфак вгу и остальная классика =)
humanmashine
Sat, 10/27/2012 - 23:14
Permalink
По первому вопросу: Дело в
По первому вопросу: Дело в том, что тут игра особенностью Python - все переменные - это ссылки.
С многострочным вводом это связано тем, что в классическом использовании мы обычно создаём объект выражением справа от присваивания (в данном случае строку) а потом присваиваем ссылку на созданный объект имени слева.
Так в случае "ХаКеРского" комментирования мы создаём объект, но не присваиваем его ничему, так как ссылок на этот объект ноль - то сборщик мусора удалит при возможности этот объект.
Ко второму вопросу: По моим данным не определён, но среды программирования часто поддерживают комментирования блоков текста - надо использовать это.
В общем. метод этот корявый. и относится к тому "как делать не надо", но иногда, когда нет под рукой удобной среды и уж очень надо закоментировать большой блок кода, и только для каких-то тестовых, временных задач,
таких что никто кроме вас не увидит об этом действии и не назовёт вас быдлокодером, этим способом можно воспользоваться.vedro-compota
Sun, 10/28/2012 - 15:51
Permalink
+1
благодарю за хорошее объяснение)
_____________
матфак вгу и остальная классика =)