◆ タブキーでタブ入力できない環境は今でもある
◆ そんな環境で一時的に修正したいときに不便
  ◆ JavaScript などと違って Python はインデント必須
  ◆ タブとスペース混在するとエラーなのでタブ入力が必要になる

インデントはタブ派です
それは Python であろうと同じです
PEP8 がなんと言おうと知ったことではないです

ですが Python に限るとスペースのほうがいいかもしれないと思う部分がありました

スペースのメリットがない

スペース派の主な主張はどの環境でも同じというのが多いように思います
タブに対応してなくてもちゃんと見えるとか

20 年や 30 年前とかいうならそうだったのかもしれませんが 今の時代でタブが表示できないようなテキストビュワーやエディタは見たことないです
Windows のメモ帳やブラウザだって表示できてます

そういう環境でプログラム書かないといけない人はどこかにいるのかもしれませんが そういう人だけスペースで書いてれば良くて一般の人がそれに合わせる必要はないと思います
タブのほうが見る人や環境に合わせて スペースを 2 文字だったり 4 文字だったり調整できて便利です

スペースのほうが良い場合

そんなだったのですが Python ではスペースのほうが良いかもと思うことがありました
それはタブの入力です
見る分には困らないですが入力となると今でもできない環境はそこそこ見ます
有名なものはブラウザの textarea です
それ以外でもタブ入力が想定されていないところだとタブキーで別のところにフォーカスが切り替わります
cli 環境でもタブが入力できないものもあります
補完機能が使われたり タブではない制御文字が入力されたりです

基本的にはタブが入力できないエディタで書くことはないので普段このことは全く気にしてませんでした
しかし そのコードを実行する場所でちょっとだけ変更したいということはときどきあって その環境がテキストエリアだったり cli だったりのタブが入力できないところというケースもあります
その場でちょっとだけ変更して試したいだけにタブが入力できる環境に戻してちゃんと修正してから再度実行用の環境にコード全体を移動というのは手間すぎます

そういう視点ではスペースのほうが有利です
ただ そんな頻繁にあるものでもないので それのためだけに普段のコードを全部スペースにしてしまう必要があるのかと考えると難しいところです

Python だけ

ちなみに この問題は Python 以外の PHP だったり JavaScript だったりでも一緒です
しかし Python 以外の多くの言語はインデントは意味のない空白文字です
その場限りのちょっとした変更の場合に使いづらいエディタでいちいちインデント揃えたりしないですし 変更部分を 1 行に収めたり インデントなしで書くことがほとんどです
その方が後でもとに戻したいときにどこが一時的に変わったのか明白なので楽というメリットもあります

Python の場合はインデントが構文上必須なのでこういうことはできません
タブインデントで書かれているコードだとタブインデントが必要です
タブとスペースが混在すると見た目とインデントの数が一致するとは限らないので構文エラーになります
一応回避策で タブをコピーしておいてタブキーの代わりに貼り付けすることでタブ入力という方法もあります
タブが打てない環境でタブインデントのコードを修正することがほぼないならこれでも十分かもしれません

スペースの嫌なところ

ネットワーク通すわけでもないローカルファイルなら多少規模が大きくなってもスペースとタブの違いでのファイルサイズの違いはほとんど気持ちの問題程度です
1000 万個のタブがあってもそれを 4 つのスペースにしたことで増えるサイズは 30 MiB 弱で SSD の読み込みなら 1 秒未満ですし 読み込むファイル数が多いほうが遅い原因になると思います

なのであとはエディタでのインデントの扱いの問題です
完全にタブとして振る舞ってくれれば中身がスペースだろうとそこまで気になりません
タブキーを押せば指定のタブ幅分のスペースが入力できるので問題はそれほどないのですが こういう事ができてしまうのが嫌なところです

if True:
x = 1
if True:
x = 2

print(x)

if True:
x = 3

print(x)

よく見ると x = 2 のところは 2 段階のインデントですが 2 段階目はスペース 4 つじゃなくて 5 つです
1 段階目が 4 つだから 2 段階目は 8 つという決まりはなくて連続する同じインデントでのスペース数が揃ってることしか見られません
なので 1 段階目は 4 つ 2 段階目は 3 つで 3 段階目は 2 つで……ができてしまいます
特別見やすさのためにそれが最適であえてそうしてるというならまぁいい気もするのですが多くの場合はミスでそうなってるだけにしか見えません

そして x = 3 のところは 1 段階なのに 3 つです
1 段階目であっても別のブロックならインデントが揃ってる必要はないのです
これが許されてしまうあたりがスペースが嫌なところです
タブであっても同じことは出来はするのですが 1 つのサイズが大きい分 ミスでひとつ多いや一つ少ないがあると明らかにずれて見えるのでミスによるずれはほぼなくなります

指定したタブサイズ以外のスペース数にできないようになってくれるといいのですけどね
タブを押したときにスペースを指定のタブ幅分入力してくれることはあっても そこから 1 つのスペースを入力したり バックスペースで 1 つ消してしまえるので意図せずずれることはなくせないのですよね

スペースでも苦がなくなるよりも インデントのための存在であるタブを使う方になってくれる方が嬉しいので タブが打てない環境がなくなってほしいものです