みろりHP


緑色さんの多目的ブログ
みろりえいちぴー
ごゆるりとおくつろぎあさーせ。
| カテゴリ:プログラミング |
Brett Slatkin『Effective Python』その3 クラスと継承



前回に続いて、クラスの章で楽しめたところをノートしていく。



記録管理に辞書じゃなくてヘルパークラスを使う
もちろん簡単なやつなら辞書でいい。クラスを使うタイミングとしては「辞書が入れ子になっちゃった」、「タプルが3以上の要素数をもっちゃった」など。
これは自作ゲーム『一石二鳥』のとき何を参考にするでもなく自然にできてたからよさげ。

フック
list.sort(key=lambda...)

みたいに関数を渡して振る舞いをカスタマイズする仕組みをフックというそうだ。
そもそもsortに関数を渡せることを知らんかった……。

__call__を定義するとオブジェクトが関数みたいに呼び出せる
すげー! じゃあstrクラスを改造すれば
'ただの文字列'()

なんてことができるってことかよw
と思ってすこしいじってみたんだが、どうやら文字列などの組み込み型は改造ができんようになってるようで……。このイタズラは完遂できなかった。

クラスメソッドをコンストラクタとして使う
@classmethod
def foo(cls):
    return cls()
こういう……ことだとは思うんだけどこれだけじゃ意味不明だよな。

子クラスで親クラスの__init__を呼ぶとき
super().__init__()

とする。親クラスのメソッドは子クラスでも息づくんだから、こんなの必要ないじゃんと思ったが。そっか、子クラスにinitを書いてしまったら親クラスのinitは実行されなくなっちゃうのか。

private属性の使い方
self.__foo

こういう命名の変数はprivate属性になってクラス内でしかアクセスできなくなる。子クラスからもダメ。ただし
_Klass__foo

っていう呼び出し方でコールすることが可能。
private変数は、コントロール外のサブクラスによる名前衝突を避けるために使いましょう。



クラスは理解したからこの章はまあオッケーだった。が、次章がどうもするりと入ってこねえ……。


| 緑色 | プログラミング | comments(0) |
| カテゴリ:ゲーム |
ダークソウル2 忘れられた罪人まで




<忘れられた罪人>では謎のムービーが入ったり、重要そうな篝火に火が灯ったりと……ちょっと話が動いたという感覚があった。俺は何が起こっとるのかまったく把握してないけどな。<忘れられた罪人>については、最初部屋に飛び込んだときには過去最強のボスじゃねえかと冷や汗をかいたものだ。けどコイツが強いのは部屋が暗いからであって、部屋に灯りを灯せば最初のボスたちと特に変わらず……3回目で抜けられた。
死にまくったのはむしろそこに至るまでの<虚ろの衛兵>とか<鐘守のガーゴイル>みたいな、複数で襲い掛かってくる連中。視界に連中全員を収めるように位置取るのが多分コツ。火力的に倒しきれないかとも思えたが、隠れ港でようやくソウルの矢以外の魔術が開放されたので何とか抜けられたぜ。




ステータスはこんな感じに伸ばしてる。
  • 記憶力と理力はいいとして信仰は『帰路』の奇跡のため上げた。プレイが相当気楽になったぜ。ボス戦からも離脱できるってのが大発見だった。
  • 装備はいまだに防御力スカスカのスゲー軽いやつ。それでもボスの攻撃は1発まで耐えてる。魔術師に優しい攻撃力設定で俺は嬉しい。
  • 前回「がんばってキャラメイクしたぶん、気をつけて死なないようにしようって気になる」とか抜かしておきながら亡者状態なんだけど、それは……いや、猛烈な頻度で死ぬので生者キープなんてムリ!


| 緑色 | ゲーム | comments(0) |
    123
45678910
11121314151617
18192021222324
25262728   
<< February 2018 >>
+ みろりHP内検索
+ 閲覧記事
+ 過去記事アーカイブ
+ カテゴリ
+ 年月選択
  • 2018年 02月 (6)
  • 2018年 01月 (8)
  • 2017年 12月 (9)
  • 2017年 11月 (9)
  • 2017年 10月 (4)
  • 2017年 09月 (6)
  • 2017年 08月 (6)
  • 2017年 07月 (8)
  • 2017年 06月 (4)
  • 2017年 05月 (7)
  • 2017年 04月 (8)
  • 2017年 03月 (7)
  • 2017年 02月 (10)
  • 2017年 01月 (6)
  • 2016年 12月 (8)
  • 2016年 11月 (8)
  • 2016年 10月 (5)
  • 2016年 09月 (5)
  • 2016年 08月 (7)
  • 2016年 07月 (9)
  • 2016年 06月 (6)
  • 2016年 05月 (8)
  • 2016年 04月 (10)
  • 2016年 03月 (10)
  • 2016年 02月 (8)
  • 2016年 01月 (9)
  • 2015年 12月 (9)
  • 2015年 11月 (6)
  • 2015年 10月 (5)
  • 2015年 09月 (4)
  • 2015年 08月 (8)
  • 2015年 07月 (5)
  • 2015年 06月 (3)
  • 2015年 05月 (7)
  • 2015年 04月 (8)
  • 2015年 03月 (12)
  • 2015年 02月 (8)
  • 2015年 01月 (4)
  • 2014年 12月 (5)
  • 2014年 11月 (5)
  • 2014年 10月 (7)
  • 2014年 09月 (4)
  • 2014年 08月 (7)
  • 2014年 07月 (6)
  • 2014年 06月 (4)
  • 2014年 05月 (12)
  • 2014年 04月 (9)
  • 2014年 03月 (6)
  • 2014年 02月 (6)
  • 2014年 01月 (8)
  • 2013年 12月 (7)
  • 2013年 11月 (10)
  • 2013年 10月 (10)
  • 2013年 09月 (9)
  • 2013年 08月 (11)
  • 2013年 07月 (10)
  • 2013年 06月 (9)
  • 2013年 05月 (15)
  • 2013年 04月 (11)
  • 2013年 03月 (5)
  • 2013年 02月 (7)
  • 2013年 01月 (6)
  • 2012年 12月 (9)
  • 2012年 11月 (10)
  • 2012年 10月 (10)
  • 2012年 09月 (4)
  • 2012年 08月 (2)
  • 2012年 07月 (7)
  • 2012年 06月 (13)
  • 2012年 05月 (13)
  • 2012年 04月 (15)
  • 2012年 03月 (4)
  • 2012年 02月 (12)
  • 2012年 01月 (9)
  • 2011年 12月 (5)
  • 2011年 11月 (13)
  • 2011年 10月 (2)
  • 2011年 09月 (2)
  • 2011年 08月 (1)
  • 2011年 06月 (1)
  • 2011年 05月 (4)
  • 2011年 04月 (10)
  • 2011年 03月 (8)
  • 2011年 02月 (11)
  • 2011年 01月 (14)
  • 2010年 12月 (14)
  • 2010年 11月 (17)
  • 2010年 10月 (17)
  • 2010年 09月 (19)
  • 2010年 08月 (22)
  • 2010年 07月 (18)
  • 2010年 06月 (16)
  • 2010年 05月 (19)
  • 2010年 04月 (15)
  • 2010年 03月 (22)
  • 2010年 02月 (18)
  • 2010年 01月 (18)
  • 2009年 06月 (2)
  • 2009年 04月 (1)
  • 2007年 12月 (10)
  • 2007年 11月 (7)
  • 2007年 10月 (9)
  • 2007年 09月 (4)
  • 2007年 07月 (5)
  • 2007年 06月 (11)
  • 2007年 05月 (6)
  • 2007年 04月 (4)
  • 2006年 01月 (21)
  • + ブックマーク
    + 最近のコメント
    + アクセスカウンター
    全体(since 2010.02.03.)
    今日… 昨日…