如何在不使用制表符的情况下缩进python代码块

时间:2014-07-22 16:59:06

标签: python

我只是学习python并且需要知道如何在不使用tab按钮的情况下缩进代码块(因为,正如我所读,不应该使用tab)。

示例:

简单的打印功能

def test(string):
    print(string)
    print("'" + string + "'")

test('test')

如果现在,我想将打印功能放在if语句

def test(string):
    if len(string) > 2:
        print(string)
        print("'" + string + "'")

test('test')

如何在不使用“标签”的情况下缩进两个打印语句,或者必须单击每一行并插入4个空格?我非常习惯选择我需要移动到右边的所有线条并按下标签而不管程序(geany,ipython,notepad ++)。

我想从引入Python的PEP8样式指南开始。

我担心的不是这个特殊的例子,但如果我有一个代码块,我想向左或向右移动更多的行。

谢谢,

伊万

3 个答案:

答案 0 :(得分:2)

这取决于您使用的文本编辑器。我使用Notepad ++,这是你提到的那个,它有一个选项来使用空格代替标签。所以我只为.py文件启用它,然后我可以通过完全按照你习惯的方式点击标签来缩进一个块(并且使用shift-tab取消注释)。

转到设置>偏好>选项卡设置,选择" python"从右边的列表中选中"替换为空格"复选框。其他提供相同功能的文本编辑器可能都有自己的启用方式,以及他们自己的特定语言编写方式。

请注意,按Tab键更改选区的缩进只是一个UI约定,尽管是常见的约定。例如,在记事本中,它不起作用,在突出显示文本时按Tab键的行为与键入其他内容的行为相同:用选项卡替换选择。如果您使用的是记事本,那么我很确定答案是"它不可能"。如果你使用了很多不同的编辑器,那么我认为不幸的是你将不得不轮流调查每一个。

答案 1 :(得分:2)

正如您所提到的,PEP8为每个缩进级别建议使用四个空格。许多文本编辑器允许您将选项卡设置为由特定数量的空格替换。所以在很多情况下,使用tab在python中编程仍然可以,只需确保它被四个空格替换。

答案 2 :(得分:1)

我个人使用Sublime Text,似乎有一个选项来自定义标签:

{     “tab_size”:4,     “translate_tabs_to_spaces”:是的 }

在Packages / User / Preferences.sublime-settings中。也许值得一试。