print 'Hello YKazu'

('Python', 'Javascript')

2016-06-18から1日間の記事一覧

コンテキストマネージャの自作

実装方法A __enter__メソッドを定義 __exit__メソッドを定義 実装方法B @contextlib.contextmanagerデコレータ付きのジェネレータを定義 class MyContextManager: # 必須 def __enter__(self): print '1.enter' return self # 必須 def __exit__(self, exc_t…

スタティックメソッド

class Klass: b = 7 def __init__(self): self.a = 5 @staticmethod def double(c): print(c * 2) # print(self.a) インスタンス変数を参照出来ない # print(cls.b) クラス変数を参照出来ない ins = Klass() # インスタンスから呼び出せる ins.double(3) # 6…

クラスメソッド

class Klass: b = 7 def __init__(self): self.a = 5 def method(self): print(self.a) @classmethod def clsmethod(cls): print(cls.b) # print(cls.a) インスタンス変数を参照するとエラー ins = Klass() # インスタンスメソッドの呼び出し ins.method() #…

残念なPython2のsetterプロパティ

class Man: def __init__(self): self.__x = 10 # ゲッター定義 @property def x(self): return self.__x * 2 # セッター定義 @x.setter def x(self, value): self.__x = value * 3 # デリーター定義 @x.deleter def x(self): del self.__x man = Man() prin…

ワンライナーでスペース区切り文字列から抽出する

# foo.dat # # foo 2 # bar 3 # hoge 1 # piyo 5 cat foo.dat | perl -F'\s+' -anle 'print $F[1]' 結果 2 3 1 5

指定カラムが正規表現にマッチしている行だけ抽出する

# foo.dat # # foo 2 # bar 3 # hoge 1 # piyo 5 awk '$1~/^hoge/' foo.dat # hoge 1