Pythonのここがうんち
全体的に単語の区切りが分かり辛い。区切り文字省きすぎだろ。
String#startswith
"start switch" だと思う人多数
os.path.isfile() と Path.is_file() がある。
どっちかが deprecated とか?誰か詳しい人追記よろikngtty.icon
os.path.isfile() は低レベルな操作、 Path.is_file() 高レベルな操作なので両方残ると思われるA_kirisaki.icon
標準ライブラリ内の命名規則すら統一できてない。
Javaのlog4jとかってライブラリから持ってきたからそのままって話らしい
公式ドキュメントの読みづらさが異常
「f-strings の式部分でバックスラッシュを使えない」とかいうイミフ仕様。
code:python
print(f" a\n b\n {'c'}\n d")
# Output:
# a
# b
# c
# d
print(f" a\n b\n {'c\n'} d")
# SyntaxError: f-string expression part cannot include a backslash
某 Python に詳しい人曰く、実装が大変だから禁止ということになったらしい。 Simple is better than complex. This idea extends to the parser. Restricting Python's grammar to an LL(1) parser is a blessing, not a curse. It puts us in handcuffs that prevent us from going overboard and ending up with funky grammar rules like some other dynamic languages that will go unnamed, such as Perl. https://www.python.org/dev/peps/pep-3099/ 実装のためならばインターフェースの綺麗さを捨てるのがPython流。ジョブズ激おこ案件。 for 文がスコープを作らない
true の場合の値と false の場合の値の位置が離れてるのやばい
To explain the List data type it's better to start with a little bit of theory, as the term List is often used in an improper way by information technology folks. For instance "Python Lists" are not what the name may suggest (Linked Lists), but rather Arrays (the same data type is called Array in Ruby actually). https://redis.io/topics/data-types-intro for 文でイテレートできる。
リストから tuple() で変換できる。
非同期周りがクソらしいけどよく知らないので誰か書いて
Ruby とかも事情は実は同じ?A_kirisaki.icon thread の例外が thread の外で捕捉できない
lambda が使いづらいみたいだけど詳しくないので誰か書いて
無名関数がlambdaキーワードをいちいち要求するのがうざい(感想) Raclett3.icon
Pythonがいちいち式ではなく文を使うことを要求するのに、lambdaが書くことを許しているのは式のみなので、表現力に限度がある
yieldとtry-catchは使えないね
break も使えない
実行ファイルとして扱いたいときにしんどい
pyinstaller とか、色々あるけどどれも微妙
それはスクリプト言語はどれもそうA_kirisaki.icon
Python はスクリプト言語なので、Python のうんちポイントとしても並べて良さそう
mruby「呼んだ?」
高階関数を組み合わせると、読みづらさがヤバい
code: python
map(lambda x: x ** 2, filter(lambda x: x % 2 == 0, l))
map object とか filter object とか、よくわからない
private がない
list は append なのに、set は add
dict は update
組み込み関数が pathlib.Path を返さない
string で返すな
それ「明らか」じゃなくてあなたの感想ですよね?
bool が int のサブタイプなのキモい。C の負の遺産を継ぐな。ikngtty.icon Julia も Integer の具象型なんだなこれがA_kirisaki.icon CはC99でちゃんと論理型を作った
だが実態は1ビットのオブジェクトで、算術演算もできちゃうし暗黙の型変換もできてしまう
「"リスト内包表記"と"ジェネレーター式"は違うからちゃんと区別しろ。」うるせえ。評価が先行か遅延かの違いだけじゃねてか。なんで全然違うものみたいな命名してんだよ。ikngtty.icon
クラス変数 FooClass.bar に対し foo_instance.bar の形でアクセスできる。メタレベルの情報とオブジェクトレベルの情報をごっちゃにするのキモすぎ。ikngtty.icon
Luaでも流石に出来ない。キモいのに同意。sarubo.icon リストのメソッド名が append, pop, popleft とか対称性が全然表現できてなくてキモい。ikngtty.icon
Ruby: push <-> pop, unshift <-> shift C++: push_front <-> pop_front, push_back <-> pop_back エラーに怯えながらプログラムを書かなければならない 島村.icon
それは型チェックを実行時にしか行わない言語全般A_kirisaki.icon