インデント/スペースとタブ混ぜてみた

水曜日, 1月 19th, 2011 by

Pythonは、プログラムのブロック構造をインデント(字下げ)で表現します。字下げには、半角スペースを使っても、タブを使ってもいいけれども、混ぜてはいけない、というのが常識になっています。では、混ぜるとどうなるのか・・・・・やってみました!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>>> def a():
...   print("kk") #半角スペース2個
...     print("kk") #タブ1個
  File "<stdin>", line 3
    print("kk")
    ^
IndentationError: unexpected indent
>>> def a():
...     print("kk") #半角スペース4個
...     print("kk") #タブ1個
  File "<stdin>", line 4
    print("kk")
    ^
IndentationError: unexpected indent
>>> def a():
...         print("kk") #半角スペース8個
...     print("kk") #タブ1個
...

タブ1個は、半角スペース8個分として処理されるようです。つまり、スペースとタブを混用しようとすると、タブ=半角スペース8個にする必要があるのです。スペース2個分にするのか、4個分にするのかなら悩む余地があるのですが、スペース8個分は問題外ですね。。。。。もっとも、タブと半角スペースを混ぜること自体が非常識なのが・・・・・・

まとめ

  • タブ1個は、半角スペース8個分
  • 混ぜるな危険!

Facebook comments:

comments

Leave a Reply


Get Adobe Flash player
single