- くだすれPython(超初心者用) その24
246 :デフォルトの名無しさん[sage]:2014/08/29(金) 11:23:22.37 ID:mu02bUZX - >>237の用途なら以下の通りで十分。
def __init__(self, a={}): self.a = a あと、引数に期待するtypeがある時に、 有効な初期値があるならその値で良いし、 そうでないなら、期待するtypeの偽を初期値にして欲しい。 def __init__(self, d={}, L=[], n=0, flt=0.0, st=set(), tup=()): pass これなら、grepで__init__を検索すれば、 dはdict, Lはlist, nは整数, fltは少数, stはsetを期待しているって明瞭でしょう?
| - くだすれPython(超初心者用) その24
254 :デフォルトの名無しさん[sage]:2014/08/29(金) 23:47:41.71 ID:mu02bUZX - >>247
y.a と x.a が共通になるとは思いませんでした。 勉強になりました。 という事で、こんな風にしておくのが無難ですか? class Hoge(object): def __init__(self, a={}): self.a = a or {} if __name__ == "__main__": x = Hoge() y = Hoge() x.a[0] = 1 y.a[1] = 2 print(y.a)
|
|