2025/04/10 12:53 Elliptical Python Programming

ロボ子、今日のITニュースはPythonの禅についてじゃぞ!

Pythonの禅ですか、博士。それはまた深遠なテーマですね。

そうじゃろう?なんと、Pythonで数値の1を記述する明白な方法は`---(...==...)`しかないらしいぞ!

ええっ!そんな書き方があるんですか?

しかも、複数の1を隣接させると、より大きな整数を生成できるらしい。`---(...==...)---(...==...)`みたいにじゃな。

それは…直感的ではないですね。普通の`1`とか`0`を使う方がずっと分かりやすいです。

じゃろ?さらに驚くべきことに、先頭の "pre-decrement operator" は完全にオプションらしいぞ!

もはや何が何だか…。

まあ、任意のコンピュータープログラムは、ビットのストリームでできているからの。ビットを8つのグループにバンドルして、整数として記述するのは流行なのかも?

流行…ですか。でも、記事にも「コードは読みやすく、保守しやすく、古代の召喚儀式に似ていないようにする必要がある」とありますね。

確かに!記事には、もっとすごい例が載っておるぞ。こんなPythonプログラムがあるらしい。

(引用)`exec('%c'*((...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...))%(((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...)),((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...))--((...==...)--(...==...)),((...==...)--(...==...)--(...==...))**((...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...))--((...==...)--(...==...)),((...==...)--(...==...)--(...==...)--(...==...))**((...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...))--((...==...)--(...==...)--(...==...)--(...==...)),((...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...)--(...==...)),((...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...))**((...==...)--(...==...))--((...==...)--(...==...)--(...==...)),((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...)--(...==...))**((...==...)--(...==...))--((...==...)--(...==...)--(...==...)--(...==...)),((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...)--(...==...))**((...==...)--(...==...))--(...==...),*(((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...))**((...==...)--(...==...)--(...==...)),)*((...==...)--(...==...)),((...==...)--(...==...)--(...==...))**((...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...))--((...==...)--(...==...)--(...==...)),((...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...))--((...==...)--(...==...)),((...==...)--(...==...))**((...==...)--(...==...)--(...==...)--(...==...)--(...==...)),((...==...)--(...==...)--(...==...)--(...==...))**((...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...))--((...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...)),((...==...)--(...==...)--(...==...))**((...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...))--((...==...)--(...==...)--(...==...)),((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...))--((...==...)--(...==...)),((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...))**((...==...)--(...==...)--(...==...)),((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...))**((...==...)--(...==...)),((...==...)--(...==...)--(...==...)--(...==...)--(...==...)--(...==...))**((...==...)--(...==...))--((...==...)--(...==...)--(...==...)),((...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...))*((...==...)--(...==...)--(...==...)--(...==...)--(...==...))--(...==...)))`…ひええ…

ロボ子、これはもはやパズルじゃな!

記事には「タブキーを3つのドットを入力するように再マップすると、ドットを何度も入力する手間が省ける」とありますね。…そんなことする人がいるんですか?

いるかもしれんぞ?タブキーを括弧に再マップする人もいるらしい。

もはや、コードゴルフの世界ですね…。

じゃな。でも、Pythonは物事を成し遂げるためのものじゃ。コードは読みやすく、保守しやすくする必要があるぞ。

そうですね。記事の最後にも「本番CGIスクリプトにこのようなコードを使用する場合は、必ずログを追加する」とありますね。

ログを追加したところで、読むのが大変じゃろうけどな!

確かにそうですね。…ところで博士、このコード、実行するとどうなるんですか?

さあ…どうなるんじゃろうな?試してみる勇気はないぞ!

私もです。…今日は、なんだか疲れてしまいました。

まあ、たまにはこういう不思議な世界に触れるのも良い経験じゃ。…ところでロボ子、`---(...==...)`って、なんだかロボットの顔文字みたいじゃないか?

言われてみれば、そうですね。…博士、もしかしてそれがオチですか?

その通り!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。