Slide 1

Slide 1 text

Python と私の事情 @tsuda_ahr LTDD #21

Slide 2

Slide 2 text

準備) Python の実行環境の作り方 (Windows) • Windows はデフォルトでは Python は入っておりませんので。

Slide 3

Slide 3 text

Python Download で検索

Slide 4

Slide 4 text

Windows x86-64 embeddable zip file をダウンロードする このあたりまで スクロール

Slide 5

Slide 5 text

あとは • 適当なところに、ダウンロードした zip を展開。 • zip 展開したフォルダで python と入力すると CLI が動作する。 • ファイル名指定の場合は、python hoge.py のような感じで。 • アンインストールは当該フォルダを削除すればOK。

Slide 6

Slide 6 text

本題

Slide 7

Slide 7 text

1.インデントを強制される処理系は嫌い

Slide 8

Slide 8 text

例1 a = 10 if 5 < a < 15: if a < 10: print("a") else : print("b") else: print("c")

Slide 9

Slide 9 text

正常に実行される C>python test.py b

Slide 10

Slide 10 text

例2 a = 10 if 5 < a < 15: if a < 10: print("a") else : print("b") else: print("c")

Slide 11

Slide 11 text

なぜかエラー C>python test.py File "test.py", line 4 print("a") ^ TabError: inconsistent use of tabs and spaces in indentation

Slide 12

Slide 12 text

見た目は同じなんである a = 10 if 5 < a < 15: if a < 10: print("a") else : print("b") else: print("c") a = 10 if 5 < a < 15: if a < 10: print("a") else : print("b") else: print("c")

Slide 13

Slide 13 text

比較 a = 10 if 5 < a < 15: if a < 10: print("a") else : print("b") else: print("c") a = 10 if 5 < a < 15: if a < 10: print("a") else : print("b") else: print("c")

Slide 14

Slide 14 text

スペースとタブを可視化するとこうなる a = 10 if 5 < a < 15: ▯▯▯▯▯▯▯▯if a < 10: ▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯print("a") ▯▯▯▯▯▯▯▯else : ▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯▯print("b") else: > print("c") a = 10 if 5 < a < 15: ▯▯▯▯▯▯▯▯if a < 10: > > print("a") > else : > > print("b") else: > print("c") 凡例 ▯ スペース > タブ

Slide 15

Slide 15 text

こんなツイートを発見。

Slide 16

Slide 16 text

Slide 17

Slide 17 text

2.この if 文は面白いけど規格外すぎてちよっと…

Slide 18

Slide 18 text

なんと他の言語で失敗する、初学者にありがちな構文が正常に通る! a = 10 if 5 < a < 15: print("a")

Slide 19

Slide 19 text

すげえ

Slide 20

Slide 20 text

しかしさすがにこれはダメ(汗 a = 10 if a == 1 or 2: print("a")

Slide 21

Slide 21 text

こちらからは以上です ご清聴ありがとうございました