-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathclasses_pointers.py
79 lines (58 loc) · 2.4 KB
/
classes_pointers.py
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
# آموزش کلاسها
class Cookie:
def __init__(self, color):
# هنگام ساخت شی، رنگ کوکی تعیین میشود
self.color = color
def get_color(self):
# متد برای دریافت رنگ کوکی
return self.color
def set_color(self, color):
# متد برای تنظیم رنگ کوکی
self.color = color
# ایجاد دو شی از کلاس Cookie
cookie_one = Cookie('green')
cookie_two = Cookie('blue')
# نمایش رنگهای اولیه کوکیها
print('Cookie one is', cookie_one.get_color())
print('Cookie two is', cookie_two.get_color())
# تغییر رنگ اولین کوکی
cookie_one.set_color('yellow')
# نمایش رنگ جدید کوکیها
print('\nCookie one is now', cookie_one.get_color())
print('Cookie two is still', cookie_two.get_color())
# ------------------------------------------------------------
# آموزش اشارهگرها (Pointers) با استفاده از متغیرهای ساده
num1 = 11
num2 = num1 # num2 به همان مقداری که num1 دارد ارجاع میدهد
print("\n\nBefore num2 value is updated:")
print("num1 =", num1)
print("num2 =", num2)
# نشان دادن آدرس حافظه (ID) متغیرها
print("\nnum1 points to:", id(num1))
print("num2 points to:", id(num2))
# تغییر مقدار num2
num2 = 22
print("\nAfter num2 value is updated:")
print("num1 =", num1)
print("num2 =", num2)
# آدرسهای حافظه بعد از تغییر
print("\nnum1 points to:", id(num1))
print("num2 points to:", id(num2))
# ------------------------------------------------------------
# آموزش اشارهگرها با استفاده از دیکشنریها
dict1 = {'value': 11}
dict2 = dict1 # dict2 به همان دیکشنری که dict1 به آن اشاره دارد ارجاع میدهد
print("\n\nBefore value is updated:")
print("dict1 =", dict1)
print("dict2 =", dict2)
# نشان دادن آدرس حافظه
print("\ndict1 points to:", id(dict1))
print("dict2 points to:", id(dict2))
# تغییر مقدار دیکشنری
dict2['value'] = 22
print("\nAfter value is updated:")
print("dict1 =", dict1)
print("dict2 =", dict2)
# آدرسهای حافظه بعد از تغییر
print("\ndict1 points to:", id(dict1))
print("dict2 points to:", id(dict2))