python tutorial: object reference assignment, shallow copy, deep copy

import copy

class MobilePhone:
	def __init__(self,cpu,screen):
		self.cpu = cpu
		self.screen = screen

class CPU:
	def calculate(self):
		print("计算,算个 12345")
		print("CPU 对象:",self)
	
class Screen:
	def show(self):
	print("显示一个好看的画面,亮瞎你的钛合金大眼")
	print("屏幕对象:",self)
	
c = CPU()
s = Screen()
m = MobilePhone(c,s)
m.cpu.calculate()

n=m
print(m,n)
#两个变量,但是指向了同一个对象
m2 = copy.copy(m)
print(m,m2)
#m2 是新拷贝的另一个手机对象
m.cpu.calculate()
m2.cpu.calculate()
#m2 和 m 拥有了一样的 cpu 对象和 screen 对象
m3 = copy.deepcopy(m)
m3.cpu.calculate()
 #m3 和 m 拥有不一样的 cpu 对象和 screen
对象

Guess you like

Origin blog.csdn.net/a772304419/article/details/132891786