静かなる名辞

pythonとプログラミングのこと

ネタ

【python】改行せずに代入文と等価のことをする

pythonワンライナーを書く上で障害になるのは、代入文の存在である。代入は関数ではなく文なので、素直に書くと一行を消費してしまうし、lambdaやコレクション型の中にも入れられない。 よく知られた対策としては、変数辞書を直接書き換えるという大技がある…

【python】関数オブジェクトは辞書のキーに使える!

「まさかできねーだろw」と思ってやったらできたのでびっくりしたよ! >>> def hoge(): ... return None ... >>> {hoge:1} {<function hoge at 0x7f025f18cf28>: 1} ||< えぇ…(困惑)。 lambdaでもできる。 >|python| >>> fuga = lambda:None >>> {fuga:2} {<function <lambda> at 0x7f0243880510>: 2} hogeと</function></function>…

【python】The Anti-Zen of Pythonの和訳

The Anti-Zen of Pythonというネタがある。そもそも「The Zen of Python」というpython使いの過半数が知っているネタがあるのだが、それに反対する怪文書である。Welcome to that’s documentation! — that 1.0.7 documentation the zen of pythonはデフォル…

【python】気持ち悪いリスト内包表記のサンプルたち

この記事は思いつく度に加筆していこうと思う。 二回評価されるのを避けたかった numpy配列がなんだ!俺がやってやる! forのよさを殺していくスタイル 2018/3/30 追記 リスト内包表記でファイル出力 無限ループ リスト内包表記で走査しながらremove 更新履…

【python・ネタ】importする順番

PEP8はimportに際し、次の順番でimportしろと規定している。 import文 は次の順番でグループ化すべきです:1.標準ライブラリ 2.サードパーティに関連するもの 3.ローカルな アプリケーション/ライブラリ に特有のもの 普通はこの通り書けば何の問題もないと思…

なぜpython使いは単純なfor文より醜悪なリスト内包表記を好むのか

煽りっぽいタイトルだが、この記事は真剣である。リスト内包表記にはpython哲学の本質に関わる問題が潜んでいる。 python使いはリスト内包表記を好む。他の言語の使用者なら「for文で書きゃ良いのに」と思うような処理を、リスト内包表記で書くことを好む。 …

【python】pythonでボゴソートしてみる

みんな大好きボゴソート。愚直に実装するならそんなに面倒なことはない。 import random def bogo(lst): while True: random.shuffle(lst) xb = lst[0] flag = True for x in lst[1:]: if xb > x: flag = False break xb = x if flag: return None 色々イケ…

【python】pythonでもprintf/scanfしたい!

最終更新:2018-04-10※注意! この記事はネタ記事です。この記事に書いてある方法でpythonからprintf/scanfを使うことはできますが、実用性は保証しません。 実用的な方法を知りたい方は、こちらの記事にアクセスしてください。 hayataka2049.hatenablog.jph…