Repository navigation
Expand file tree
/
Copy pathRectangle_1.py
More file actions
129 lines (108 loc) · 3.35 KB
/
Copy pathRectangle_1.py
File metadata and controls
129 lines (108 loc) · 3.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
class Rectangle:
def set_params(self, a, par_b):
self.a = a
self.b = par_b
def calc_surface(self):
return self.a*self.b
def compare(self, other_r):
if self.a==other_r.a and self.b==other_r.b:
return True
else:
return False
def __eq__(self, other):
return self.compare(other)
def __repr__(self):
return 'Rectangle[{} by {} at {}]'.format(self.a, self.b, hex(id(self)))
#def __str__(self):
# return 'Rectangle[{} by {} at {}]'.format(self.a, self.b, hex(id(self)))
r1 = Rectangle()
r1.set_params(4, 5)
print(r1.calc_surface())
print('R1: {}'.format(r1))
#
r2 = Rectangle()
r2.set_params(6, 7)
print(r2.calc_surface())
print('R2: {}'.format(r2))
r3 = r1
print('R3: {}'.format(r3))
r1.set_params(7, 8)
print('--- changing r1 params --')
print('R1: {}'.format(r1))
print('R2: {}'.format(r2))
print('R3: {}'.format(r3))
#
from copy import copy
r4 = copy(r2)
print('R4: {}'.format(r4))
print('R1=R3: {}'.format(r1==r3))
print('R2=R4: {}'.format(r2==r4))
print('R2 compare R4: {}'.format(r2.compare(r4)))
print('R1=R3: {}'.format(r1==r3))
print('R1 compare R3: {}'.format(r1.compare(r3)))
#
# print('R4: {}'.format(r4))
# #
lr1_list = [r1, r2, r3, r4]
print(f'LR1_list:{lr1_list}')
print('-- changing params of 3 element in LR1 ---')
lr1_list[2].set_params(3, 4)
print('R1: {}'.format(r1))
print('R2: {}'.format(r2))
print('R3: {}'.format(r3))
print('R4: {}'.format(r4))
print(f'LR1_list:{lr1_list} {hex(id(lr1_list))}')
lr2_list = lr1_list
print(f'LR2_list:{lr2_list} {hex(id(lr2_list))}')
print('-- changing params of 2 element in LR2 ---')
lr2_list[1].set_params(7, 6)
print('R1: {}'.format(r1))
print('R2: {}'.format(r2))
print('R3: {}'.format(r3))
print('R4: {}'.format(r4))
print(f'LR1_list:{lr1_list} {hex(id(lr1_list))}')
print(f'LR2_list:{lr2_list} {hex(id(lr2_list))}')
lr3_list = lr1_list.copy()
# print('r3_list:')
# print(lr3_list)
print(f'LR3_list:{lr3_list} {hex(id(lr3_list))}')
print('-- changing params of element 4 in LR3 ---')
lr3_list[3].set_params(60, 70)
print('R1: {}'.format(r1))
print('R2: {}'.format(r2))
print('R3: {}'.format(r3))
print('R4: {}'.format(r4))
print(f'LR1_list:{lr1_list} {hex(id(lr1_list))}')
print(f'LR2_list:{lr2_list} {hex(id(lr2_list))}')
print(f'LR3_list:{lr3_list} {hex(id(lr3_list))}')
# lr1_list[0].set_params(9, 8)
# print(f'LR1_list:{lr1_list}')
# print(f'LR2_list:{lr2_list}')
# print(f'LR3_list:{lr3_list}')
from copy import deepcopy
lr4_list = deepcopy(lr1_list)
print(f'LR4_list:{lr4_list} {hex(id(lr4_list))}')
# print(f'LR4_list:{lr4_list}')
print('-- changing params of element 1 in LR4 ---')
lr4_list[0].set_params(10, 15)
print(f'LR1_list:{lr1_list} {hex(id(lr1_list))}')
print(f'LR2_list:{lr2_list} {hex(id(lr2_list))}')
print(f'LR3_list:{lr3_list} {hex(id(lr3_list))}')
print(f'LR4_list:{lr4_list} {hex(id(lr4_list))}')
del lr1_list
#print(f'LR1_list:{lr1_list} {hex(id(lr1_list))}')
print(f'LR2_list:{lr2_list} {hex(id(lr2_list))}')
print(f'LR3_list:{lr3_list} {hex(id(lr3_list))}')
print(f'LR4_list:{lr4_list} {hex(id(lr4_list))}')
# print(f'LR1_list:{lr1_list}')
# print(f'LR2_list:{lr2_list}')
# print(f'LR3_list:{lr3_list}')
# print(f'LR4_list:{lr4_list}')
# print('changing params')
#r2.set_params(3, 2)
#
# #del r4_list
# print(f'R_list:{r_list}')
# print(f'R2_list:{r2_list}')
# print(f'R3_list:{r3_list}')
# print(f'R4_list:{r4_list}')