はまり日記

関数の引数いろいろ

キーワード引数 >>> def f1(a, b): print a, b >>> f1(1, 2) 1 2 >>> f1(b=1, a=2) 2 1 >>> 可変長引数をタプルや辞書で受け取る >>> def f2(a, *b, **c): print a, b, c >>> f2(1, 2, 3, d=4, e=5) 1 (2, 3) {'e': 5, 'd': 4} 先頭の引数 1 は a に格納され…

関数定義、基底クラスのメソッド

すっかりこの日記の存在すら忘れてました。久しぶりにPythonでプログラムを書こうと思ったら、激烈にパイソン力が低下しておりました。 とりあえず関数を定義しようと思ってsubだったかfunctionだったかと悩んでいたらdefだった(0点) クラスAを継承したク…

&&,||,!じゃなくand,or,not

論理演算子は、そういうことです。 ビット演算子は&,|です。ビットの反転は~かな。

リストを変更するメソッドは値を返さない

昨日のmyreverse1で return myreverse1(xs[1:]) + [xs[0]]これを return myreverse1(xs[1:]).append(xs[0])と書けるんじゃないかと思ったんですがエラーになりました、appendはリストの内容を変更して(破壊的?)値は返さないんですね。

リストに要素を足さない

最初、myreverse1(xs[1:]) + xs[0] と書いていてエラーになりました。 return myreverse1(xs[1:]) + xs[0] TypeError: can only concatenate list (not "int") to listなるほど。xs[0]はただの数値なので、リストに足しちゃだめなんですね。 return myrevers…