python三引号可以包含注释,关于python:注释掉嵌套的三引
号
在python中注释掉多⾏,我们使⽤三重引号
def x():
"""This code will
add 1 and 1"""
a=1+1
但是,如果我必须注释掉已经包含许多其他注释掉代码块(三重引⽤注释)的代码块,该怎么办。 例如,如果我想完全注释掉此功能。
python基础代码注释"""
def x():
"""This code will
add 1 and 1"""
a=1+1
"""
这⾏不通。 我如何注释掉这样的代码块。
如果内部使⽤双引号,则可以在外部使⽤单引号。"""comment"""。 这可⾏。
In python to comment-out multiple lines we use triple commas
这只是⼀种实现⽅式,从技术上讲,您使⽤的是字符串⽂字,⽽不是注释。⽽且,尽管已经相当成熟,但是这种写注释的⽅式具有您观察到的缺点:您⽆法注释掉嵌套的块。1
Python没有嵌套的多⾏注释,就这么简单。如果要注释掉允许嵌套注释的多⾏,唯⼀安全的选择是注释掉每⾏。
⼤多数编辑器都有⼀些命令,可以使注释或多⾏注释变得容易。
1对于单层嵌套,您实际上可以使⽤'''"""nested"""''',或者反过来使⽤。但我不推荐它。
但是,OP实例中的"注释"都是⽂档字符串,这可能会使来⾃运⾏时可以使⽤内联⽂档的环境中的某⼈感到困惑。
鉴于Guido本⼈已认可该技术,因此"滥⽤"似乎有点过头了:" Python技巧:您可以将多⾏字符串⽤作多⾏注释。除⾮⽤作⽂档字符串,否则它们不会⽣成任何代码! :-)"
即使在Emacs或VIM中,使⽤编辑器通过在⾏的开头加上#号来完成此操作也是⼀种不好的⽅法。为此,三引号⽅法是事实上的标准,OP 的问题是合法的。
@EMS我从未怀疑这个问题的合法性。但是这种引⽤技术当然不是"事实上的标准"。它似乎已被某些开发⼈员使⽤(如先前的评论者所
述,Guido包括在内),但这并没有使其成为标准。此外,问题在于嵌套的多⾏注释。我挑战你在我对这个问题的回答中发现错误。您断⾔使⽤⽂本编辑器注释掉多⾏很不好,这很荒谬。
好吧,我们不同意。 #s的批量粘贴列太⿇烦了,即使在Emacs中使⽤矩形粘贴也是如此。当您将它们注释掉时,这也使很⼤⼀部分代码成为极⼤的⿇烦。有很多实际的原因为什么三重引⽤⼀个块更有效,这就是为什么这么多Python程序员使⽤该技术的原因。我完全不同意它的"荒谬"。当我遇到其他批处理粘贴了#的代码时,我只是⼤开眼界。如果有⼈在诸如gedit之类的基本编辑器中获得该代码,那就更糟了,这会使列选择变得困难。
@EMS这并不荒谬,我没有那么说。你认为另⼀种⽅法不好是荒谬的。实际上,另⼀种⽅法是最新技术,现状以及许多⽂本编辑器和IDE⽀持的⼀种真实⽅法。特别是gedit有⼀个插件可以做到这⼀点。随意滚动您的视线,但不要将您的偏见推断给其他程序员(他们对这种评论⽅法完全满意)。
access2020破解版我知道你的意思。我是说您的主张"您的断⾔,认为使⽤⽂本编辑器注释多⾏简直太荒谬了",这是错误的。我的断⾔并不荒谬,可以通过⼴泛使⽤三引号⽅法以及不可⾏批号⽅法得到证明。您仅需要⼀个完整的插件即可在基本编辑器中处理该事实,这⼀事实很明显地证明了这是⼀个坏主意。
@EMS您的整个论点都不令⼈信服。实际上,那⾥没有争论。您只是声称必须在⼀个特定的编辑器中使⽤插件才是⼀个坏主意。那不是争论。那是毫⽆根据的主张。⽽且这种报价⽅法是普遍存在的,⽽且我肯定⽐三重报价⽅法更⼴泛(这是由于跨语⾔⽀持这⼀事实)。所以,是的,我坚持认为您的要求是荒谬的。
使⽤批处理#⽅法是不切实际的,尤其是如果该⽅法⽆法在⼤多数普通编辑器中⽅便地移植(例如,您需要在gedit中使⽤它的插件)。它⽐三重引号⽅法更冗长的键⼊内容,并导致令⼈眼花code乱的代码。这些是不受欢迎的理由。与三重引⽤⽅法的流⾏(和认可)相结合,三重引⽤⽅法显然更受基础技术的青睐。这些都是有⼒的理由。您可以不同意它们,但是坦率地说,我甚⾄还没有说服⼒的主张是荒谬的。你不合理。我不⼲了。
iterable英语三重引号是在python中执⾏多⾏注释和⼩写的标准⽅法。 -1表⽰不/表⽰滥⽤。
@Julius您读过脚注了吗?但是,是的,我应该改变回复的语⽓,以反映这种对语⾔的混蛋已成为⼀种习语。
我在简短的hack&slay情况下经常做的事情如下。它并不是真正的评论,并且不能涵盖所有情况(因为您需要屏蔽),但这可能会有所帮助:
if 0: # disabled because *some convincing reason*
def x():
"""This code will
add 1 and 1"""
a=1+1
或者,如果您不能或不喜欢在典型的缩进级别之间引⼊缩进级别:spring牌子什么档次
# disabled because *some convincing reason*
if 0: # def x():
"""This code will
add 1 and 1"""bootstrap属于什么框架
a=1+1
您应该在每⾏的开头使⽤#进⾏注释。如果您使⽤的是eclipse + pydev,这⾮常容易。
只需选择要注释的代码块,然后按Ctrl + \。取消注释也是如此。数据库第二范式
我相信其他编辑器中也有这么简单的⽅法。
我正在学习构建搜索引擎的Udacity python编程课程。他们使⽤三引号将⽹页的源代码作为字符串括在变量"页⾯"中,以搜索所有链接。
page ='''page page source code'''⽤page.find()搜索
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论