何かを書き留める何か

数学や読んだ本について書く何かです。最近は社会人として生き残りの術を学ぶ日々です。

『Effective Python』Item 4: 複雑な式の代わりにヘルパー関数を使おう

『Effective Python』の続き。続いた。

Effective Python: 59 Specific Ways to Write Better Python (Effective Software Development Series)

Effective Python: 59 Specific Ways to Write Better Python (Effective Software Development Series)

www.effectivepython.com

Pythonの簡潔な文法の代償として簡単に複雑で難解な式が書けてしまうからそうなったらヘルパー函数を使おうね、分割しようねという話。 見出しがすべてを物語っているがこれもPythonに限らず重要な話。

サンプルコードにもある複雑難解な式の例は次の通り。

red = int(my_values.get('red', [''])[0] or 0)

確かにわかりにくい。

過去に自分が書いたPythonコードでこれを上回る酷いものを探したらProject Eulerを解いたものにあった。

target = [int(line) for line in open('Problem_008.txt', 'r')]
target = map(int,list("".join(map(str,target))))

これはひどい