如何在IDLE(Python图形界面)中取消缩进

9

我想在IDLE(Python GUI)中编写以下语句:

>>> if x == 0:
...      x = 0
...      print('Negative changed to zero')
... elif x == 0:

如何取消elif语句的缩进?

一些额外的事实:

  1. 我尝试过使用退格键和shift + tab,但都不起作用。
  2. 运行在Windows上。

谢谢。


抱歉,您只需要使用退格键,问题是“>>>”没有缩进。

这意味着在:

>>> if x == 54:
         x = 4
elif y = 4:
         y = 6

elif与if语句缩进程度相同。

很抱歉浪费您的时间,不过您可以将责任归咎于IDE的界面设计不够明确。


1
你尝试过什么?退格键?Shift+Tab?你使用的是哪个平台?Mac OS X、Windows和一些Linux系统有不同的键盘。当你点击帮助菜单时,那里有什么信息? - S.Lott
你或者旁观者有问题吗:如何为你的连续行获取...?我从未见过IDLE这样做,也找不到打开它的选项。但是我在一些Python帖子中看到过。 - Mark Ransom
5个回答

23

Ctrl+[组合键可以使缩进减少。

相反地,Ctrl+]组合键可以使缩进增加,但在IDLE中一般处理缩进比处理减少缩进更好。


不知道为什么被踩了,它在Windows上运行得很好。我猜在Mac上可能是Option-]或其他什么东西。 - Gordon Gustafson
1
我带着问题“如何取消缩进代码块”来到这里,而这个(Ctrl-[)正是正确答案。 - Martin F
对我来说没问题,但是我改用空格来缩进了。所以你需要重新调整思维,使用Ctrl+]键代替Tab键。 - andrew pate
2
只适用于英语键盘,例如在德语键盘上没有直接的[ - perhelion

4

在Windows系统中使用ctrl + [

在Mac系统中使用command + [


这是默认的键盘组合。您也可以在选项中更改键位分配,使用Shift-Tab或您喜欢的任何键:https://dev59.com/GHRA5IYBdhLWcg3w4iJ_#790788 - rakslice

2

退格键对我有效。

如果您进入“选项” ->“配置IDLE”,并单击“键”选项卡,选择了哪些选项?这可能会有所不同-我使用的是IDLE经典Windows版本。


1

试着像这样输入。你会注意到光标在pass后移动到行的开头。

>>> if x == 0:
        x = 0
        print('Negative changed to zero')
        pass
elif x == 0:
    print('other stuff')

0

如果你所说的是在Windows上,那么你应该看看Mark Hammond的PyWin32附带的交互式IDE。它适用于包括2.6和3.1在内的所有Python版本。

它具有用户可设置的语法着色、代码完成、自动缩进/取消缩进以及IDLE的所有其他功能,同时操作更加流畅、快速和平滑滚动等。它还有一个内置调试器,虽然我没有足够的使用经验来推荐它。

此外,它使复合语句的交互式输入更像Python命令行窗口,因为它在连续行前面放置三个点(或更准确地说,sys.ps2的值):

>>> if x < 0:
...     x = 0
...     print('Negative changed to zero')
... elif:

Tab键会插入推荐的4个空格(用户可配置),而退格键将备份并删除4个空格,使其看起来像真正的制表符。

自Python 1.5版本以来,我一直在使用PyWin32,并且对它评价非常高。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接