2026年8月31日(月)掲載 3,963本日 18
HN10751

Pythonの「定数」って、なんだか妙じゃない?仕様の違和感を徹底検証

Python's pre-declared constants are kinda weird

rbanffy5日前

議論

11
0rbanffyスレ主1075日前

Pythonにおける事前の定数宣言(pre-declared constants)について、皆さんはどう感じていますか?正直なところ、他の言語と比べても少し独特で違和感がありますよね。この挙動や設計の不思議さについて、皆さんの意見を聞かせてください。

1xg155日前

「...」って、TrueやFalse、Noneと同じような扱いってこと?つまり、パース中にハードコードされた値に解決されるレキシカルトークンみたいな。

3echelon5日前

2010年代のPythonは、PHPやPerlと比べて新鮮な感じがして好きだったな。今のPythonは、自分自身が変なPHPになったような感じで、遅いし壊れやすいし、大規模開発には危険すぎる。ルーズな型付け、雑多な標準ライブラリ、それに最悪なパッケージ管理(コミュニティがパッケージングの作法を全然わかってない)とか、全部時代遅れに感じる。

4nneonneo5日前

__debug__定数ってマジで変だよな。if __debug__:で囲ったコードブロックは、PYTHONOPTIMIZE=1だとバイトコードから丸ごと削除されるんだ。これとassertが、Pythonにおける「条件付きコンパイル」の数少ない例だよ。だからこそ__debug__には代入できないようになってる。代入できたらif __debug__:文に対するコンパイラの前提が崩れちゃうからね。

6neillyons5日前

Pythonの初期バージョンにはTrueとFalseが組み込まれてなくて、みんな自分で True = 1, False = 0 みたいに実装してたのを思い出したよ。その後言語に追加されたんだけど、Python 2ではまだ再代入で入れ替えができたから、if Falseが真になるなんてこともあったんだよね。True, False = False, True みたいに。Python 3からは再代入できなくなったけど。

7Lucasoato5日前

わあ、Pythonの内部実装でどういう仕組みになってるのか詳しく知りたいな!

8moomoo115日前

個人的な意見だけど、Pythonって正直人生で使った中で最悪の言語とエコシステムの一つだよ。昔JSが叩かれてたけど、Pythonはその数倍ひどいと思う。あくまで個人の感想だから怒らないでね xD

9snitty5日前

Pythonって、トレンチコートを着た3つのスクリプト言語みたいなものだろ。

10hmokiguess5日前

Pythonは最悪。ライブラリごとに場当たり的な設計が多いし、スタイルも統一されてないし、遅いし、間違ったコードを簡単に書けてしまう。データサイエンティストのJupyter Notebookを本番環境向けに直す作業をよくやるんだけど、これがもう効率最悪の地獄なんだ。研究とかメモ書きには学習コストが低くていいんだろうけどね。