小编典典

有没有一种方法可以将Python代码中的缩进转换为大括号?

python

我是一个完全盲的程序员,想学习Python。不幸的是,代码块以不同的缩进级别表示的事实是一个主要的绊脚石。我想知道是否有可用的工具允许我使用花括号或其他代码块定界符来编写代码,然后将该格式转换为Python解释程序可以使用的适当缩进的表示形式?


阅读 219

收藏
2021-01-20

共1个答案

小编典典

有一个针对您的问题的解决方案,该解决方案随python一起分发。pindent.py,它位于Windows安装目录下的Tools \
Scripts目录中(我的路径是C:\ Python25 \ Tools \
Scripts),如果您要在svn.python.org上运行,则它似乎必须从svn.python.org上获取。
Linux或OSX。

当关闭块时,它会添加注释,或者如果添加了注释,则可以适当缩进代码。这是pindent使用以下命令输出的代码的示例:

pindent.py -c myfile.py

def foobar(a, b):
   if a == b:
       a = a+1
   elif a < b:
       b = b-1
       if b > a: a = a-1
       # end if
   else:
       print 'oops!'
   # end if
# end def foobar

原件myfile.py所在的位置:

def foobar(a, b):
   if a == b:
       a = a+1
   elif a < b:
       b = b-1
       if b > a: a = a-1
   else:
       print 'oops!'

您还可以pindent.py -r根据注释插入正确的缩进(有关详细信息,请阅读pindent.py的标题),这应该允许您在python中进行编码而不必担心缩进。

例如,运行pindent.py -r myfile.py会将以下代码myfile.py转换为与pindent.py -c上面的示例产生的代码相同的正确缩进(也带有注释)的代码:

def foobar(a, b):
if a == b:
a = a+1
elif a < b:
b = b-1
if b > a: a = a-1
# end if
else:
print 'oops!'
# end if
# end def foobar

我很想了解您最终使用的解决方案,如果您需要任何进一步的帮助,请对此帖子发表评论,我会尽力提供帮助。

2021-01-20