Python学習日記

巴扎黑
巴扎黑オリジナル
2017-06-23 14:46:431171ブラウズ

1. 数値コピー

import copy
# ######数字、字符串######
n1 = 123
print(id(n1))
n2 = n1
print(id(n2))

###浅拷贝###
n2 = copy.copy(n1)
print(id(n2))

###深拷贝###
n3 = copy.deepcopy(n1)
print(id(n3))

C:Users811314AppDataLocalProgramsPythonPython35-32python.exe C:/宿題/day3/1.py
492322480
492322480
492322480

終了コード 0 でプロセスが終了しました

2、文字列

import copy
# ######数字、字符串######
n1 = "my name is hellworld"
print(id(n1))
n2 = n1
print(id(n2))

###浅拷贝###
n2 = copy.copy(n1)
print(id(n2))

###深拷贝###
n3 = copy.deepcopy(n1)
print(id(n3))
C:Users811314AppDataLocalProgramsPythonPython35 -32python.exe C:/宿題/day3/1.py

5973920
5973920
5973920

終了コード 0 でプロセスが終了しました

import copy
# ######数字、字符串######
n1 = ["helloworld","hapen"]
print(id(n1))
n2 = n1
print(id(n2))

###浅拷贝###
n2 = copy.copy(n1)
print(id(n2))

###深拷贝###
n3 = copy.deepcopy(n1)
print(id(n3))

C:Users811314 AppDataLocalProgramsPythonPython35-32python.exe C:/宿題/day3/ 1.py

12817912

12817912
10370784
12816672

終了コード 0 でプロセスが終了しました

数値と文字列の場合、代入、浅いコピー、深いコピーは常に同じメモリ アドレスを指しているため、意味がありません。

浅いコピー

、データの最初の層のみがメモリ内に追加作成されます

深いコピー

、すべてのデータがメモリ内に再作成されます (最後の層を除く、つまり: Python は内部で文字列と数値を処理します 最適化

りー

以上がPython学習日記の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。