トップページ > プログラム > 2014年09月16日 > cG0GrrN4

書き込み順位&時間帯一覧

15 位/186 ID中時間01234567891011121314151617181920212223Total
書き込み数1300000000000000000000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
くだすれPython(超初心者用) その24

書き込みレス一覧

くだすれPython(超初心者用) その24
492 :デフォルトの名無しさん[sage]:2014/09/16(火) 00:41:42.43 ID:cG0GrrN4
>>491
http://docs.python.jp/3.3/reference/compound_stmts.html#function-definitions
太字で「デフォルトパラメタ値は関数定義が〜」の部分
くだすれPython(超初心者用) その24
497 :デフォルトの名無しさん[sage]:2014/09/16(火) 01:00:14.87 ID:cG0GrrN4
>>494
ごく普通に「Python 言語リファレンス」から「関数定義」を探すだけ

>>496
ちがう
a.__defaults__ のタプルとしてデフォルトパラメタ値が記憶されている
呼び出しのたびにそこから値がコピーされるだけ
くだすれPython(超初心者用) その24
503 :デフォルトの名無しさん[sage]:2014/09/16(火) 01:24:54.05 ID:cG0GrrN4
>>498
ミュータブルであるかイミュータブルであるかの違い
イミュータブルなオブジェクト(数値や文字列やタプルなど)は、生成後に内容を書き換えることができない
一方、ミュータブルは(リストや辞書など)は、生成後でも内容を書き換えができる
i = 1
i = 2
これは一見内容を書き換えてるように見えるけど
実際は別のオブジェクトに差し替えている(内容書き換えではない)
くだすれPython(超初心者用) その24
505 :デフォルトの名無しさん[sage]:2014/09/16(火) 01:32:12.86 ID:cG0GrrN4
>>502
l_default = 0
def a(n):
 l = l_default
 l += n
 return l
print(a(1))
print(a(1))
print(a(1))
こんな風に書き直せば理解でしやすいと思う

l_default = []
def a(s):
 l = l_default
 l.append(s)
 return l
print(a(1))
print(a(2))
print(a(3))


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。