ToDo:
コメント無いのかなと思ったので
A is not B とか A not in B はどうなんでしょう。 not A is B とかと比べてタイプ数節約すらできてないんですが、明らかに読みやすい?それとも歴史的にそういうの意識する前からあったとか?
なんか Python 、もちろん Ruby や Perl ほどじゃないけど、これどっちで書くのがいいスタイルなんかな、とか思っちゃうこと多いんだよな。 @staticmethod vs @classmethod とか割とどっちかにしておいて欲しかったとか思ってしまう
やまあ僕の Python 嫌いは言いがかりに近いのは自覚してます
(12:08)
前 | 2016年 3月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
それ言い出したら not (a == b) があれば != 要らないよねってことで2項演算すべて否定形とっぱらうことになりません?
not A is B は (not A) is B と誤読できる分 A is not B よりも可読性低いですし。
staticmethod, classmethod も両方必要です。
コメント欄はスパムよけのためにはてなユーザーにしかコメントできない設定になってたと思います。
はてブの下にコメントを書くボタンが現れるので、コメントが1件もない記事にはコメント欄がどこかわかりにくいかも。
!=はタイプ数結構減るんで… is not がやり方を増やす価値があるほど可読性高いというのは少し驚きです。誤読に関しては A is (not B) とも誤読できるんでは。 is not 演算子を知ってればそんな読み間違いはしないてことですかね
いや、だからタイプ数減らすのは価値として認められないんですって。 != はタイプ数減るけど is not はタイプ数減らないからなんてロジックでは Python 開発者は納得しません。
== には否定形があるのに is には否定形がないという一貫性のなさや、人間が not (A == B) より A != B の方が意味を取りやすいのと同じように not (A is B) より A is not B の方が意味を直接取りやすいという方が問題なのです。
慣れてないと is (not B) と読めるのは確かにそうなんで、僕の例が悪かったです。
言われてみると is not 悪くないものに思えてもきました。僕は複数の式がある時はほぼ自明に not A is B の方が可読性高いと思ってたんですが、どうやら英語ダメだからですかねえ。。