誰かが私に次のことを説明することができたら大変感謝します。私はPythonとプログラミングの最新版です。まったく意味がないかもしれません。オブジェクトには何が起こっていますか?
私はこのスニペットを使用する場合、それは私にどれも返しません:
(in) dic = {'a':1, 'b':2}
(in) print(dic.update({'c':3}))
(out) None
をが、私はこの1つを使用する場合、それは私がDIC更新返す:
(in) dic = {'a':1, 'b':2}
(in) dic.update({'c':3})
(in) print(dic)
(out) {'a': 1, 'b': 2, 'c': 3}
それはなぜですか?なぜ注文に正確に従わなければならないのですか?
さらに編集... 私はまだ理解していない。このコードのいずれかの接続/関係があります:どちらの場合も
(in) lst = [1,3,2,4,6,5]
(in) print(lst.sort())
(in) print(sorted(lst))
(out) None
(out) [1, 2, 3, 4, 5, 6]
関数やメソッドのいずれかのリストがおそらくソートされます。しかし、 私はそれを返しますメソッドを介して印刷を呼び出すとき。
(in) lst = [1,3,2,4,6,5]
(in) lst.sort()
(out) print(lst)
'update'はあなたのdictを修正し、' None'を返します。それはコードからかなり明らかです。 – khelwood
接線関連:https://nedbatchelder.com/text/names.html。 'dic'と' dic.update(...) 'は単純に2つの異なるオブジェクトに評価される式です。 – chepner