23-Pythonの基礎は、(1)シャローコピーとディープコピーを-python3-

1.変数のデータ型と不変。

  • リスト '変数のデータ型であり、その値は、追加、削除または変更することができます。
  • 文字列は、それを変更することはできません、「不変」です。

 

(1)文字列

  • TypeError例外になります文字列の再割り当てに試してみてください。
1 = ' ABCD ' 
2 [0] = ' Eの' 

3 トレースバック(最新の呼び出しの最後): 4ファイル"C:\ Users \ユーザーAnaconda3 \ libには\サイト-パッケージ\夏\ IPython \コア\のinteractiveshell.py" 、ライン2961、run_codeで 5 EXEC(code_obj、self.user_global_ns、self.user_ns) <モジュール> 6ファイル"<ipython-入力37-93bf15c8bf3d>"、1行目、 7 [0] = 'E' 8 TypeError例外:「STR」オブジェクトは、アイテムの割り当てをサポートしていません。
  • [変更]を正しく文字列、およびミクロトームを使用して接続
1 = ' ABCD ' 
2 = [1] + [ E ] + [1 :]
 3  4 ' aebcd '  

(2)一覧

  • 違い:カバレッジとのリストを変更します
  • カバー一覧(リストを変更しませんが、新しいリストを作成します
1、B = [1,2,3 ]
 2  ID(B)
 3  OUT [42]:95411912 
4 B = [2,3,4 ]
 5  ID(B)
 6  OUT [44]:95411720
  • リストを変更します(変更の現在のリストに新しいリストを作成しません
1、B = [1,2,3 ]
 2  ID(B)
 3  OUT [46]:93984712 
4  b.append(4)
 5  B
 6 OUT [48] [1、2、3、4 ]
 7  ID(B )
 8  OUT [49]:93984712 
9  デル[0]、B
 10  、B
 11 OUT [51]:[2、3、4 ]
 12  ID(B)
 13  OUT [52]:93984712

(3)タプル

  • 主な違いは、タプルのリストは、文字列のようにタプルは不変であるということです。タプルはそれらの値は、修正、追加または削除することを許可することはできません。
1、A =(' こんにちは'、1、' A ' 2 [0] = 1
 3トレースバック(最後の最新の呼び出し):
4ファイル「C:\ Users \ユーザー夏\ Anaconda3 \ libに\のsite-packagesに\ IPython \ 「run_codeで、ライン2961、コアの\ interactiveshell.py 
5 EXEC(code_obj、self.user_global_ns、self.user_ns)
<モジュール> 6ファイル"<ipython入力-54-f9da761c742a>"、1行目、
7 [0 ] = 1 
8はTypeError:「タプル」オブジェクトアイテムの割り当てをサポートしていません

 

2.参考文献

  • 基準値、いくつかのデータポイントがあります。
  • 変数の値は、リストや辞書として、変数のデータ型に保存されなければならない場合には、Pythonは参照を使用します。
  • リストを変数に割り当てられている場合、実際には、それは、リストの「参照」変数に割り当てられています。参考文献のリストは、値のリストを指しています。
  • 不変のデータタイプ、例えば、文字列、整数、またはタプルの値に対して、Pythonの変数は、値そのものを記憶します。
1件のスパム= [0、1、2、3、4、5 ]
2  ID(スパム)
 3  OUT [66]:95545224 
4チーズ= スパム
 5  チーズ
 6 OUT [68]:[0、1、2、3、4、5 ]
7  ID(チーズ)
 8  OUT [69]:95545224 
9チーズ[1] = ' ハロー' 
10  チーズ
 11 OUT [71]:[0、' こんにちは'、2、3、4、5 ]
 12  スパム
 13 OUT [72 ]:[0、' こんにちは'、2、3、4、5 ]
14  ID(チーズ)
 15  OUT [73]:95545224 
16  ID(スパム)
17 OUT [74]:95545224

おすすめ

転載: www.cnblogs.com/summer1019/p/11288674.html
おすすめ