Top 8
Outer WildsストーリーMODを色々やってみた
June 18, 2023, 10:04 a.m.表面符号と戯れる【量子コンピューター Advent Calendar 2023 23 日目】
Dec. 23, 2023, 3:28 a.m.位数発見アルゴリズム ~Quantum Zooやっていく【特別編】~
Jan. 27, 2023, 2:50 p.m.ストーリー追加 Mod: The Outsider やっていく日記【Outer Wilds】
Feb. 19, 2023, 6:33 a.m.意識が量子効果で生じることを示す実験結果についてちょっと調べただけのメモ
April 21, 2022, 3:09 p.m.ストーリー追加 MOD: Astral Codec やっていく日記【Outer Wilds】
Feb. 25, 2024, 8:47 a.m.Outer Wilds の量子は計算能力が(ある程度)すごいのではという話
Jan. 15, 2022, 8:35 a.m.MacでAge of Empires 2 DE (AoE2DE)をCrossOverで動かす
May 31, 2021, 11:52 a.m.対象のクラスのメソッド呼び出し前に割り込む【Python】
Feb. 25, 2023, 5:28 p.m.あるクラスのメソッドを呼び出す前に割り込んで何かの処理をしたい場合がある。普通はそのクラスを継承し同名メソッドを作ればよいが、数がたくさんあるなど面倒なケースもある。そうしたときに使える方法。
例えば、以下のような対象のクラス Target
の各メソッド(A
, B
)呼び出し前に処理を割り込ませる場合を考える。
class Target:
def __init__(self, a):
self.a = a
def A(self):
return self.a
def B(self, num):
self.a += num
そのために Hook
クラスを用意し、こちらを Target
クラスの代わりに用いる。今回は割り込む処理として、単純に呼ばれたメソッド名を出力するものを考える。
class Hook:
def __init__(self, target):
self.target = target
def __getattr__(self, name):
print(f'name: {name}')
return self.target.__getattribute__(name)
そして実際に使ってみると
hook = Hook(Target(5))
print(hook.A())
hook.B(3)
print(hook.A())
より、
name: A
5
name: B
name: A
8
と得られる。ここで __getattr__
を利用している。これは Hook
の保持していない属性にアクセスした場合に呼ばれる特殊メソッドで、今回のケースに有用なものとなっている(ドキュメント)
この方法は、例えばあるクラスの各メソッドが何回呼ばれているかを計測することなどに使えると思う(というか、そのために作った)。以上
Top 8
Outer WildsストーリーMODを色々やってみた
June 18, 2023, 10:04 a.m.表面符号と戯れる【量子コンピューター Advent Calendar 2023 23 日目】
Dec. 23, 2023, 3:28 a.m.位数発見アルゴリズム ~Quantum Zooやっていく【特別編】~
Jan. 27, 2023, 2:50 p.m.ストーリー追加 Mod: The Outsider やっていく日記【Outer Wilds】
Feb. 19, 2023, 6:33 a.m.意識が量子効果で生じることを示す実験結果についてちょっと調べただけのメモ
April 21, 2022, 3:09 p.m.ストーリー追加 MOD: Astral Codec やっていく日記【Outer Wilds】
Feb. 25, 2024, 8:47 a.m.Outer Wilds の量子は計算能力が(ある程度)すごいのではという話
Jan. 15, 2022, 8:35 a.m.MacでAge of Empires 2 DE (AoE2DE)をCrossOverで動かす
May 31, 2021, 11:52 a.m.Tags
- #Python (26)
- #量子力学 (25)
- #量子情報 (23)
- #Unity (11)
- #Outer Wilds (11)
- #数学 (9)
- #Mac (9)
- #AoE2 (8)
- #Linux (7)
- #Quantum Zoo (6)
- #意識 (5)
- #シミュレーション (5)
- #NumPy (5)
- #Bash (5)
- #相対論 (4)
- #Docker (4)
- #Android (4)
- #Qiskit (4)
- #Rust (3)
- #PyO3 (3)
- #GitHub (3)
- #Django (2)
- #情報理論 (2)
- #LaTeX (2)
- #AR (2)
- #Git (2)
- #iOS (2)
- #C++ (2)
- #正規表現 (2)
- #論文 (2)
- #電磁気学 (1)
- #Google Drive (1)
- #Overleaf (1)
- #Let's Encrypt (1)
- #ポケモン (1)
- #AdMob (1)
- #Autoya (1)
- #docopt (1)
- #SymPy (1)
- #AWS (1)
- #Twitter (1)
- #URP (1)
- #iMovie (1)
- #PyTorch (1)
- #C# (1)
- #Vim (1)