در این مطلب، ویدئو آموزش پایتون 18: آشنایی با روشها و کلاسهای پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:42:43
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,880 –> 00:00:03,679
سلام بچه ها این پل مک کوارتر
2
00:00:03,679 –> 00:00:06,640
از toptechboy.com است و ما امروز اینجا هستیم
3
00:00:06,640 –> 00:00:08,320
با درس شماره 18
4
00:00:08,320 –> 00:00:10,800
در سری آموزش های جدید باورنکردنی ما
5
00:00:10,800 –> 00:00:12,639
که در آن شما می خواهید پایتون یاد بگیرید
6
00:00:12,639 –> 00:00:14,719
یا می خواهید بمیرید و آنچه را
7
00:00:14,719 –> 00:00:16,400
که به شما نیاز دارم امتحان کنید. برای خودتان
8
00:00:16,400 –> 00:00:20,640
یک فنجان قهوه سیاه قوی بریزید
9
00:00:21,279 –> 00:00:23,760
که مستقیماً قهوه سیاه است، بدون
10
00:00:23,760 –> 00:00:24,320
شکر،
11
00:00:24,320 –> 00:00:26,960
بدون مواد شیرین کننده، هیچ نیازی ندارید، بچه ها با
12
00:00:26,960 –> 00:00:28,400
تماشای این کانال
13
00:00:28,400 –> 00:00:31,519
هواپیمای جنگنده جت شما، این سوخت جت شماست،
14
00:00:31,519 –> 00:00:32,479
15
00:00:32,479 –> 00:00:35,280
برو برای شما مقداری
16
00:00:36,160 –> 00:00:38,239
خوب است، من هم نیاز دارم شما برای
17
00:00:38,239 –> 00:00:39,520
دریافت عالی ترین
18
00:00:39,520 –> 00:00:41,920
کد ویژوال استودیوی خود و در حالی که دارید
19
00:00:41,920 –> 00:00:44,239
کد ویژوال استودیو را اجرا می کنید، مثل
20
00:00:44,239 –> 00:00:46,239
همیشه، من می خواهم به شما
21
00:00:46,239 –> 00:00:47,840
بچه هایی که در حامی من کمک می کنید
22
00:00:47,840 –> 00:00:48,879
فریاد بزنم
23
00:00:48,879 –> 00:00:51,039
، تشویق و
24
00:00:51,039 –> 00:00:53,039
حمایت شماست که این را حفظ می کند.
25
00:00:53,039 –> 00:00:53,760
26
00:00:53,760 –> 00:00:55,680
شما بچهها که کمکی نمیکنید، محتوای فوقالعادهای در اختیار شما قرار میگیرد، اما
27
00:00:55,680 –> 00:00:57,280
به توضیحات زیر نگاه کنید
28
00:00:57,280 –> 00:00:59,440
، پیوندی به
29
00:00:59,440 –> 00:01:01,120
حساب
30
00:01:01,120 –> 00:01:04,479
حامی من وجود دارد.
31
00:01:04,479 –> 00:01:05,680
32
00:01:05,680 –> 00:01:07,600
mp in
33
00:01:07,600 –> 00:01:09,280
و بیایید در مورد چیزهایی که قرار
34
00:01:09,280 –> 00:01:11,280
است امروز یاد بگیریم صحبت کنیم آنچه که
35
00:01:11,280 –> 00:01:12,960
می خواهیم یاد بگیریم این است که در
36
00:01:12,960 –> 00:01:16,640
مورد روش های پایتون و کلاس های پایتون یاد می گیریم
37
00:01:16,640 –> 00:01:18,400
و از اینجاست که
38
00:01:18,400 –> 00:01:20,400
برنامه نویسی پسر بزرگ شروع می شود و اگر
39
00:01:20,400 –> 00:01:21,600
تا به حال نگاه کرده اید در
40
00:01:21,600 –> 00:01:23,200
کد پایتون کسی که واقعاً می داند
41
00:01:23,200 –> 00:01:25,600
چه کار می کند کاملاً گیج کننده است
42
00:01:25,600 –> 00:01:27,200
و مانند یک زبان خارجی است
43
00:01:27,200 –> 00:01:28,720
44
00:01:28,720 –> 00:01:30,400
که وقتی به پایتون نگاه می کنید حتی چیزی در مورد پایتون نمی دانید و
45
00:01:30,400 –> 00:01:31,520
در مورد
46
00:01:31,520 –> 00:01:34,640
کلاس ها صحبت می کند و در مورد خود و
47
00:01:34,640 –> 00:01:37,520
مقدمات و خود صحبت می کند. .this self.that و
48
00:01:37,520 –> 00:01:39,200
این اصلاً معنی ندارد
49
00:01:39,200 –> 00:01:40,880
و دلیل آن این است که آنها از
50
00:01:40,880 –> 00:01:43,200
کلاس ها و متدهایی استفاده می کنند که به آن
51
00:01:43,200 –> 00:01:46,320
محاسبات شی گرا می گویند و چیزی که
52
00:01:46,320 –> 00:01:47,600
من امروز به شما نشان خواهم داد
53
00:01:47,600 –> 00:01:50,960
این است که چگونه محاسبات شی گرا
54
00:01:50,960 –> 00:01:53,520
انجام دهید. استفاده از
55
00:01:53,520 –> 00:01:54,079
روش ها
56
00:01:54,079 –> 00:01:56,320
و استفاده از کلاس ها باشد و یک بار که
57
00:01:56,320 –> 00:01:58,320
آن را ببینید واقعاً بسیار منطقی است
58
00:01:58,320 –> 00:02:00,000
وقتی کسی آن را به صورت گام به گام به شما نشان دهد
59
00:02:00,000 –> 00:02:01,600
60
00:02:01,600 –> 00:02:04,640
واقعاً بسیار منطقی و بسیار
61
00:02:04,640 –> 00:02:05,520
ساده
62
00:02:05,520 –> 00:02:08,560
و بسیار آسان است برای انجام این کار،
63
00:02:08,560 –> 00:02:09,199
64
00:02:09,199 –> 00:02:11,280
بیایید به عالی ترین
65
00:02:11,280 –> 00:02:13,120
کدهای استودیوی تصویری خود بپردازیم
66
00:02:13,120 –> 00:02:14,800
و بیایید به اینجا بیاییم، ما در حال کار
67
00:02:14,800 –> 00:02:17,040
در فایل های پایتون هستیم،
68
00:02:17,040 –> 00:02:19,280
من می خواهم یک فایل اضافه کنم، و این
69
00:02:19,280 –> 00:02:21,680
اتفاق خواهد افتاد.
70
00:02:21,680 –> 00:02:25,280
کلاسها و متدهای متدها
71
00:02:25,280 –> 00:02:27,840
نقطه p y نقطه p y یک جورهایی مهم است
72
00:02:27,840 –> 00:02:30,160
و ما خودمان یک
73
00:02:30,160 –> 00:02:33,440
برنامه پایتون جدید داریم که فقط
74
00:02:33,440 –> 00:02:34,400
منتظر نوشتن
75
00:02:34,400 –> 00:02:37,920
همه چیز هستیم، بنابراین اکنون میتوانیم
76
00:02:37,920 –> 00:02:38,720
تابعی
77
00:02:38,720 –> 00:02:40,879
داشته باشیم که هفته گذشته آن را area نامیده بودیم و
78
00:02:40,879 –> 00:02:42,239
در مورد توابع یاد گرفتیم. ما میتوانیم
79
00:02:42,239 –> 00:02:43,599
تابعی به نام ناحیه داشته باشیم
80
00:02:43,599 –> 00:02:45,200
و شما میتوانید آن را یک طول و شما
81
00:02:45,200 –> 00:02:46,720
میتوانید آن را به عرض بفرستید و
82
00:02:46,720 –> 00:02:49,440
یک مساحت را به شما برمیگرداند، بنابراین اگر
83
00:02:49,440 –> 00:02:51,360
10 مستطیل مختلف داشتید، میتوانید
84
00:02:51,360 –> 00:02:53,040
آن را 10 زمان مختلف صدا بزنید،
85
00:02:53,040 –> 00:02:54,480
اما سپس میروید. شروع
86
00:02:54,480 –> 00:02:56,400
به گیج شدن کنید زیرا اگر
87
00:02:56,400 –> 00:02:58,080
واقعاً می خواستید 10
88
00:02:58,080 –> 00:03:00,319
مستطیل مختلف را پیگیری کنید، به راه بهتری نیاز دارید
89
00:03:00,319 –> 00:03:01,200
90
00:03:01,200 –> 00:03:04,080
و آن راه بهتر این است که بتوانید
91
00:03:04,080 –> 00:03:04,959
92
00:03:04,959 –> 00:03:08,400
یک شی ایجاد کنید و آن شی
93
00:03:08,400 –> 00:03:11,120
یک مستطیل باشد و سپس من می توانم مستطیل ایجاد کنم.
94
00:03:11,120 –> 00:03:12,400
o ne
95
00:03:12,400 –> 00:03:15,120
یا i میتوانیم مستطیل دو بسازیم و شما
96
00:03:15,120 –> 00:03:16,000
این کار را با کلاسها انجام میدهید،
97
00:03:16,000 –> 00:03:18,959
یک کلاس به شما امکان میدهد یک
98
00:03:18,959 –> 00:03:19,920
شی بسازید،
99
00:03:19,920 –> 00:03:22,319
بنابراین من میتوانم کلاسی داشته باشم که کلاس مستطیل چه نوع
100
00:03:22,319 –> 00:03:24,720
کلاسی است
101
00:03:24,720 –> 00:03:27,840
و آن کلاس مستطیل به من
102
00:03:27,840 –> 00:03:30,720
اجازه میدهد اشیاء مستطیلی ایجاد کنم و من میتوانم
103
00:03:30,720 –> 00:03:32,000
با آنها کار کنم. اشیاء مختلف به
104
00:03:32,000 –> 00:03:35,200
طور مستقل از طریق آن
105
00:03:35,200 –> 00:03:38,400
کلاس پایتون خوب است، حالا
106
00:03:38,400 –> 00:03:40,879
این چیز تمیزی در مورد کلاس است که
107
00:03:40,879 –> 00:03:42,159
108
00:03:42,159 –> 00:03:45,200
داده ها را ردیابی می کند و توابع را ردیابی می کند،
109
00:03:45,200 –> 00:03:47,280
بنابراین بیایید بگوییم اگر در مورد یک
110
00:03:47,280 –> 00:03:49,280
مستطیل و rect صحبت می کردیم
111
00:03:49,280 –> 00:03:51,200
ممکن است عرض آن یک باشد و ممکن است
112
00:03:51,200 –> 00:03:52,400
113
00:03:52,400 –> 00:03:55,200
عرض یک و طول دو
114
00:03:55,200 –> 00:03:55,599
115
00:03:55,599 –> 00:03:57,599
داده است که قرار است با آن مستطیل مرتبط شود،
116
00:03:57,599 –> 00:03:59,680
بنابراین من آن مستطیل را ایجاد می کنم
117
00:03:59,680 –> 00:04:00,720
118
00:04:00,720 –> 00:04:02,560
و سپس آن پارامترها را ردیابی
119
00:04:02,560 –> 00:04:04,480
120
00:04:04,480 –> 00:04:05,439
121
00:04:05,439 –> 00:04:07,280
می کند. برای انجام یک محاسبه،
122
00:04:07,280 –> 00:04:09,680
می توانم تابع داخل آن کلاس را انجام
123
00:04:09,680 –> 00:04:12,319
دهم، مثلاً مساحت را محاسبه کنم، بنابراین
124
00:04:12,319 –> 00:04:14,159
داده هایی مانند طول
125
00:04:14,159 –> 00:04:16,079
و عرض آن مستطیل
126
00:04:16,079 –> 00:04:17,759
و دارای توابعی مانند oh i m است.
127
00:04:17,759 –> 00:04:19,358
ممکن است بخواهم مساحت را محاسبه کنم، ممکن است
128
00:04:19,358 –> 00:04:21,040
بخواهم محیط را محاسبه کنم، ممکن است بخواهم
129
00:04:21,040 –> 00:04:22,479
مورب
130
00:04:22,479 –> 00:04:23,520
موارد مختلف را محاسبه کنم
131
00:04:23,520 –> 00:04:26,880
، بنابراین یک کلاس به شما اجازه می دهد
132
00:04:26,880 –> 00:04:29,520
اشیاء و آن اشیاء را ایجاد کنید، سپس می توانید
133
00:04:29,520 –> 00:04:30,320
134
00:04:30,320 –> 00:04:33,600
پارامترهای خاصی را دنبال کنید و می توانید
135
00:04:33,600 –> 00:04:34,880
پیگیری کنید. مانند دادهها
136
00:04:34,880 –> 00:04:36,880
و سپس میتوانید توابع را پیگیری کنید
137
00:04:36,880 –> 00:04:38,479
تا در سطح بالایی باشد
138
00:04:38,479 –> 00:04:40,800
و همانطور که من انجامش میدهید،
139
00:04:40,800 –> 00:04:42,160
منطقیتر و بیشتر خواهد شد
140
00:04:42,160 –> 00:04:45,680
، بنابراین من یک کلاس ایجاد میکنم،
141
00:04:45,680 –> 00:04:49,199
یک کلاس و آن کلاس
142
00:04:49,199 –> 00:04:49,759
خواهد بود. به نام
143
00:04:49,759 –> 00:04:52,479
rectangle و بنابراین من می خواهم یک
144
00:04:52,479 –> 00:04:53,360
کلاس
145
00:04:53,360 –> 00:04:55,880
ایجاد کنم و سپس کلاس
146
00:04:55,880 –> 00:04:57,440
مستطیل را
147
00:04:57,440 –> 00:05:00,000
ایجاد می کنم و وقتی کلاس را ایجاد می کنید
148
00:05:00,000 –> 00:05:00,800
149
00:05:00,800 –> 00:05:03,039
هیچ پارامتری از کلاس عبور نمی کنید فقط این
150
00:05:03,039 –> 00:05:03,919
کلاس من است کلاس
151
00:05:03,919 –> 00:05:07,840
را اکنون rectangle می نامند
152
00:05:08,240 –> 00:05:11,600
اگر من می خواستم یک مستطیل
153
00:05:11,600 –> 00:05:14,400
ایجاد کنم اگر می خواستم یک شی مستطیل ایجاد
154
00:05:14,400 –> 00:05:15,600
کنم، می توانم بگویم
155
00:05:15,600 –> 00:05:18,880
rect 1 و این برابر با
156
00:05:18,880 –> 00:05:22,639
مستطیل است، حالا پایتون می داند که rect
157
00:05:22,639 –> 00:05:23,199
158
00:05:23,199 –> 00:05:25,440
1 من یک مستطیل است حالا هنوز خیلی
159
00:05:25,440 –> 00:05:27,280
منطقی نیست زیرا من واقعاً این کار را نکرده ام
160
00:05:27,280 –> 00:05:29,199
قرار دادن هر گونه هزینه در اینجا روکش می شود اما من فقط می
161
00:05:29,199 –> 00:05:31,120
گویم که من دارم شی را ایجاد می کنم که شی است.
162
00:05:31,120 –> 00:05:31,840
163
00:05:31,840 –> 00:05:35,120
164
00:05:35,120 –> 00:05:36,880
165
00:05:36,880 –> 00:05:38,880
166
00:05:38,880 –> 00:05:41,199
بسیار خوب، من
167
00:05:41,199 –> 00:05:43,280
می توانم یک
168
00:05:43,280 –> 00:05:46,240
مستطیل متفاوت ایجاد کنم.
169
00:05:46,240 –> 00:05:47,360
170
00:05:47,360 –> 00:05:50,840
171
00:05:50,840 –> 00:05:52,160
172
00:05:52,160 –> 00:05:55,199
173
00:05:55,199 –> 00:05:58,240
174
00:05:58,240 –> 00:06:01,199
175
00:06:01,199 –> 00:06:02,560
176
00:06:02,560 –> 00:06:05,840
و بنابراین هر کلاس
177
00:06:05,840 –> 00:06:09,440
باید یک تابع در خود داشته باشد تا
178
00:06:09,440 –> 00:06:10,160
چیزها را تنظیم کند
179
00:06:10,160 –> 00:06:12,880
اکنون این بسیار مهم است که ما
180
00:06:12,880 –> 00:06:13,360
181
00:06:13,360 –> 00:06:15,759
هفته گذشته در مورد توابع یاد گرفتیم دقیقاً چگونه
182
00:06:15,759 –> 00:06:17,680
یک تابع d e f را تعریف
183
00:06:17,680 –> 00:06:20,800
کنید و متوجه شوید که این d e f در داخل
184
00:06:20,800 –> 00:06:21,360
کلاس است
185
00:06:21,360 –> 00:06:24,479
این d e f در داخل کلاس است زیرا
186
00:06:24,479 –> 00:06:25,680
187
00:06:25,680 –> 00:06:27,680
هنگامی که شما در پایتون هستید
188
00:06:27,680 –> 00:06:29,919
و توابع را با d e f میسازید به خوبی تورفتگی
189
00:06:29,919 –> 00:06:31,120
دارد،
190
00:06:31,120 –> 00:06:34,000
اما وقتی تابعی را در
191
00:06:34,000 –> 00:06:35,919
یک کلاس ایجاد میکنید،
192
00:06:35,919 –> 00:06:38,639
متد نامیده میشود، دقیقاً مانند یک تابع است،
193
00:06:38,639 –> 00:06:39,840
اما وقتی یک تابع f انجام میدهید. unction
194
00:06:39,840 –> 00:06:41,680
در داخل یک کلاس، شما تابع
195
00:06:41,680 –> 00:06:44,000
را متد می نامید، اما ما اکنون متد خود را تعریف می
196
00:06:44,000 –> 00:06:47,280
کنیم و این همان
197
00:06:47,280 –> 00:06:50,880
متد init است که هر کلاس به یک init نیاز دارد
198
00:06:50,880 –> 00:06:53,440
و وقتی
199
00:06:53,440 –> 00:06:54,560
آن را ایجاد می کنید شی را تنظیم می کند
200
00:06:54,560 –> 00:06:56,960
و این کار را با خط زیر انجام می دهید.
201
00:06:56,960 –> 00:06:58,160
زیر خط
202
00:06:58,160 –> 00:07:01,360
بافتنی زیرخط خوب است بنابراین
203
00:07:01,360 –> 00:07:01,680
204
00:07:01,680 –> 00:07:04,560
تعریف شده است و سپس یک فاصله و سپس
205
00:07:04,560 –> 00:07:06,080
ما این را خواهیم داشت که
206
00:07:06,080 –> 00:07:09,199
روش اولیه باشد و سپس
207
00:07:09,199 –> 00:07:10,960
پارامترها را در اینجا به
208
00:07:10,960 –> 00:07:14,639
خوبی قرار می دهیم،
209
00:07:14,639 –> 00:07:18,000
حالا باید خود را منتقل کنیم.
210
00:07:18,000 –> 00:07:21,759
شیء my rect one با فراخوانی
211
00:07:21,759 –> 00:07:25,280
rectangle به سمت مستطیل می آید
212
00:07:25,280 –> 00:07:28,400
و اسمش چیست این rect من است
213
00:07:28,400 –> 00:07:29,520
214
00:07:29,520 –> 00:07:33,360
بنابراین شما به این تابع init منتقل می
215
00:07:33,360 –> 00:07:36,800
کنید این روش init self در خودش
216
00:07:36,800 –> 00:07:37,520
217
00:07:37,520 –> 00:07:41,199
rec2 من است اگر دوباره مستطیل را صدا
218
00:07:41,199 –> 00:07:45,199
کنم من یک شی کاملا مجزا ایجاد می کنم
219
00:07:45,199 –> 00:07:48,280
که شی کاملاً مجزا به نام mirec2 نامیده می شود
220
00:07:48,280 –> 00:07:52,160
و بنابراین وقتی با rect 2 خود مستطیل را فرا می خوانم و
221
00:07:52,160 –> 00:07:53,280
222
00:07:53,280 –> 00:07:56,879
وارد این init می شوم این متد init
223
00:07:56,879 –> 00:07:57,599
224
00:07:57,599 –> 00:07:59,680
و این متد init هر
225
00:07:59,680 –> 00:08:00,720
بار که یک شی ایجاد می کنید فراخوانی
226
00:08:00,720 –> 00:08:04,000
می شود، فقط init را اجرا می کند. متر به نظر می رسد که
227
00:08:04,000 –> 00:08:06,720
خود زمانی همان چیزی می شود که من خراب می شوم
228
00:08:06,720 –> 00:08:07,280
2.
229
00:08:07,280 –> 00:08:10,080
بنابراین شما به نوعی به یک بافتنی می گویید که
230
00:08:10,080 –> 00:08:11,759
نام شما چیست شما که هستید،
231
00:08:11,759 –> 00:08:15,280
شما رکت من هستید 1 یا شما rec 2 من هستید.
232
00:08:15,280 –> 00:08:19,759
خوب حالا بعضی ها مثل ما که گفتیم چیست؟
233
00:08:19,759 –> 00:08:23,599
یک کلاس a دادهها
234
00:08:23,599 –> 00:08:25,599
را ردیابی میکند و توابع یا
235
00:08:25,599 –> 00:08:28,080
روشهایی را که ممکن است
236
00:08:28,080 –> 00:08:29,280
بخواهید
237
00:08:29,280 –> 00:08:32,640
در مورد یک مستطیل بدانید را به خوبی پیگیری میکند، ممکن است بخواهید
238
00:08:32,640 –> 00:08:35,440
بدانید چه رنگی است، بنابراین ما میخواهیم c را
239
00:08:35,440 –> 00:08:37,679
برای رنگی که ممکن است بخواهید بدانید
240
00:08:37,679 –> 00:08:39,599
طول آن چقدر است، بنابراین ما
241
00:08:39,599 –> 00:08:41,839
l را برای طول پاس می کنیم و ممکن است بخواهید بدانید
242
00:08:41,839 –> 00:08:43,839
که با این چیست، بنابراین ما
243
00:08:43,839 –> 00:08:47,680
w را برای عرض پاس می کنیم و بنابراین علاوه بر
244
00:08:47,680 –> 00:08:50,399
خودش، باید بداند که
245
00:08:50,399 –> 00:08:51,200
طول آن چیست
246
00:08:51,200 –> 00:08:53,600
و چه رنگی است. عرض همه چیز درست است در حال حاضر
247
00:08:53,600 –> 00:08:56,080
دوباره پارامترها
248
00:08:56,080 –> 00:08:59,600
را در اینجا نمیگیریم، کاری که انجام میدهیم این است که آنها را به
249
00:08:59,600 –> 00:09:02,399
اینجا منتقل میکنیم و بنابراین چه چیزی را باید پاس کنم،
250
00:09:02,399 –> 00:09:03,839
251
00:09:03,839 –> 00:09:06,880
باید رنگ را پاس
252
00:09:06,880 –> 00:09:09,920
کنم و طول را باید پاس کنم و عرض را کاملاً پاس کنم. بنابراین
253
00:09:09,920 –> 00:09:13,120
اکنون میخواهم یک شی ایجاد کنم که
254
00:09:13,120 –> 00:09:15,200
شیء من rect1 است
255
00:09:15,200 –> 00:09:18,240
که شیء با مستطیل ایجاد میشود.
256
00:09:18,240 –> 00:09:20,480
e برای مستطیل
257
00:09:20,480 –> 00:09:22,880
چه کاری انجام می دهد وقتی شی را ایجاد می کنید،
258
00:09:22,880 –> 00:09:24,480
259
00:09:24,480 –> 00:09:28,399
روش init را اجرا می کند، متد a knit
260
00:09:28,399 –> 00:09:32,080
نام شی را دریافت می کند،
261
00:09:32,080 –> 00:09:36,160
بنابراین مستطیل آن را ارسال می کند rect یک من تا
262
00:09:36,160 –> 00:09:39,440
self تبدیل به یک راست من می شود و سپس اینجا
263
00:09:39,440 –> 00:09:42,720
رنگ به c می رود پیوند به آن می رود l
264
00:09:42,720 –> 00:09:44,959
و عرض به w میرود، بنابراین شما
265
00:09:44,959 –> 00:09:46,320
پارامترها
266
00:09:46,320 –> 00:09:49,360
را به مستطیل نمیدهید، اما آنها را به
267
00:09:49,360 –> 00:09:53,120
این init میدهید، خوب، پارامترها
268
00:09:53,120 –> 00:09:54,560
به این init میروند
269
00:09:54,560 –> 00:09:58,320
و فقط به یاد داشته باشید که self میشود uh
270
00:09:58,320 –> 00:10:01,360
شما نام خودش را میدانید
271
00:10:01,760 –> 00:10:04,959
حالا میخواهید این کلاس ردیابی کند.
272
00:10:04,959 –> 00:10:06,959
این پارامترها به این دلیل است که وقتی
273
00:10:06,959 –> 00:10:08,880
میآیم و rect 2 خود را انجام میدهم، نمیخواهم
274
00:10:08,880 –> 00:10:11,040
فراموش کند که rect 1 من چیست،
275
00:10:11,040 –> 00:10:14,480
بنابراین میخواهم دادهها را پیگیری
276
00:10:14,480 –> 00:10:17,040
کنم، بنابراین باید اینها را در متغیرها قرار دهم، بنابراین
277
00:10:17,040 –> 00:10:18,000
واقعاً کاری که
278
00:10:18,000 –> 00:10:21,279
میخواهم انجام دهم این است چیزی شبیه من rect1
279
00:10:21,279 –> 00:10:24,560
dot dot c است
280
00:10:24,560 –> 00:10:28,480
uh dot color است که یک متغیر است، بنابراین
281
00:10:28,480 –> 00:10:30,640
مانند رنگ my rect1.color
282
00:10:30,640 –> 00:10:33,200
میخواهیم که برابر با c
283
00:10:33,200 –> 00:10:34,720
چیزی باشد که در حال حاضر از آن عبور کردهایم،
284
00:10:34,720 –> 00:10:36,480
چه مشکلی با
285
00:10:36,480 –> 00:10:38,000
انجام این کار وجود دارد، سپس
286
00:10:38,000 –> 00:10:40,240
نام آن را انجام میدهد. همیشه
287
00:10:40,240 –> 00:10:42,480
سرکار من باش و اگر کار می کنم با
288
00:10:42,480 –> 00:10:45,600
رک دو من به سمت راست من وصل شده است،
289
00:10:45,600 –> 00:10:48,560
بنابراین ما میخواهیم وقتی با رک دو تماس میگیریم، این یک رکت من باشد، وقتی
290
00:10:48,560 –> 00:10:50,240
که من راکت دو را صدا
291
00:10:50,240 –> 00:10:52,800
میزنیم، میخواهیم آن راکت
292
00:10:52,800 –> 00:10:54,160
دو من باشد،
293
00:10:54,160 –> 00:10:56,160
بنابراین به جای رکت یک من، رکت دو،
294
00:10:56,160 –> 00:10:58,640
چه چیزی باید باشد. ما اینجا
295
00:10:58,640 –> 00:11:01,839
می گذاریم چه چیزی را باید در اینجا قرار دهیم خودش
296
00:11:01,839 –> 00:11:05,600
خوب است، بنابراین
297
00:11:05,600 –> 00:11:09,040
وقتی من rect1 خود را ایجاد می کنم و
298
00:11:09,040 –> 00:11:11,800
rectangle rectangle را فراخوانی می کند، روش مقداردهی اولیه را اجرا می کند
299
00:11:11,800 –> 00:11:13,600
300
00:11:13,600 –> 00:11:16,240
و خود به خود می گذرد در این صورت این
301
00:11:16,240 –> 00:11:17,600
wrecked من است، بنابراین می
302
00:11:17,600 –> 00:11:20,800
گوید self.color c است که می
303
00:11:20,800 –> 00:11:24,720
گوید self.color مساوی است یا این درست
304
00:11:24,720 –> 00:11:26,399
خواهد بود rec من
305
00:11:26,399 –> 00:11:28,959
1 برابر است با c حالا فکر می کنم
306
00:11:28,959 –> 00:11:30,640
اگر واقعاً
307
00:11:30,640 –> 00:11:33,200
اعداد را در اینجا قرار دهم این واضح تر می شود یا در واقع
308
00:11:33,200 –> 00:11:34,240
می خواهم اینجا
309
00:11:34,240 –> 00:11:37,360
قرمز قرار دهم و سپس یک را قرار دهم
310
00:11:37,360 –> 00:11:38,000
311
00:11:38,000 –> 00:11:41,519
طول 2 و
312
00:11:41,519 –> 00:11:44,640
عرض یک، بنابراین من یک شی ایجاد می کنم که
313
00:11:44,640 –> 00:11:45,120
314
00:11:45,120 –> 00:11:47,760
شی من مستطیل من است و آن یک مستطیل است
315
00:11:47,760 –> 00:11:48,240
که
316
00:11:48,240 –> 00:11:50,320
در اینجا به مستطیل ظاهر می شود، زمانی که
317
00:11:50,320 –> 00:11:51,600
شی ایجاد
318
00:11:51,600 –> 00:11:55,440
می شود، متد init اجرا می شود annette
319
00:11:55,440 –> 00:11:58,240
rect 1 من را دریافت می کند و سپس آن را انجام می دهد این است که
320
00:11:58,240 –> 00:11:58,800
321
00:11:58,800 –> 00:12:02,320
من rect 1 را که رنگ خود نقطه است
322
00:12:02,320 –> 00:12:05,680
به c تنظیم می کند و c از اینجا s می آید
323
00:12:05,680 –> 00:12:09,200
o ما 2 را به c منتقل می کنیم و
324
00:12:09,200 –> 00:12:12,079
c به self.color می رود و بنابراین بیایید همین
325
00:12:12,079 –> 00:12:13,120
کار
326
00:12:13,120 –> 00:12:15,120
ساده را انجام دهیم و سپس بگوییم
327
00:12:15,120 –> 00:12:17,519
328
00:12:17,519 –> 00:12:21,200
که رنگ خود نقطه را چاپ
329
00:12:21,200 –> 00:12:23,200
کنید خوب است زیرا من این wrecked
330
00:12:23,200 –> 00:12:24,560
خود را اجرا کردم باید
331
00:12:24,560 –> 00:12:27,200
بداند نه من. نمیخواهم خودم را بگویم اکنون
332
00:12:27,200 –> 00:12:28,000
در اینجا
333
00:12:28,000 –> 00:12:31,440
من میخواهم رکتم را بگویم 1.
334
00:12:31,440 –> 00:12:33,440
چون اینجا وقتی اینجا در
335
00:12:33,440 –> 00:12:35,440
کد هستم به همه این
336
00:12:35,440 –> 00:12:36,800
چیزهای خود اهمیتی نمیدهم آنچه که برایم مهم است این است که
337
00:12:36,800 –> 00:12:39,279
من یک مستطیل درست کردم. و
338
00:12:39,279 –> 00:12:41,120
حالا می خواهم بدانم
339
00:12:41,120 –> 00:12:44,079
rect من چه رنگی است، بنابراین بیایید آن چیز را اجرا کنیم
340
00:12:44,079 –> 00:12:44,480
و
341
00:12:44,480 –> 00:12:46,800
بوم کنیم چه چیزی چاپ می
342
00:12:46,800 –> 00:12:48,480
شود قرمز چاپ می شود،
343
00:12:48,480 –> 00:12:51,920
بنابراین من یک شی ایجاد می کنم rect یک من با
344
00:12:51,920 –> 00:12:53,680
فراخوانی rectangle
345
00:12:53,680 –> 00:12:56,800
rectangle
346
00:12:56,800 –> 00:13:00,320
تابع init را که خودش ارسال می کند، ایجاد می کند. rect one
347
00:13:00,320 –> 00:13:03,440
و سپس c l w و بعد می گوید که
348
00:13:03,440 –> 00:13:07,760
رنگ خود نقطه برابر است با c که قرمز بود
349
00:13:07,760 –> 00:13:11,200
و بعد وقتی اینجا می آیم رنگ راست
350
00:13:11,200 –> 00:13:11,920
یک
351
00:13:11,920 –> 00:13:15,519
نقطه من قرمز می شود حالا بیایید
352
00:13:15,519 –> 00:13:16,240
یک
353
00:13:16,240 –> 00:13:20,160
مستطیل دیگر بسازیم rect two من آبی می شود
354
00:13:20,160 –> 00:13:23,760
خوب و سپس این قرار است
355
00:13:23,760 –> 00:13:27,200
کاما باشد، بیایید بگوییم چهار کاما دو
356
00:13:27,200 –> 00:13:30,639
آه چهار بلند و دو عرض و سپس
357
00:13:30,639 –> 00:13:35,839
اجازه دهید بیام اینجا را کپی کنید،
358
00:13:38,079 –> 00:13:40,160
بنابراین چیزی که میخواهم به شما نشان دهم این است
359
00:13:40,160 –> 00:13:43,199
که من rect 1 خود را ایجاد میکنم، من rect 2 خود را ایجاد
360
00:13:43,199 –> 00:13:45,040
میکنم و سپس میخواهم رنگ rect 1
361
00:13:45,040 –> 00:13:49,440
و سپس رنگ rect 2
362
00:13:49,440 –> 00:13:51,680
را چاپ کنم، بنابراین قرمز و آبی چاپ میشود.
363
00:13:51,680 –> 00:13:54,160
وقتی wreck 2 را ایجاد می کنم، قدرت این کار را می بینید، وقتی که
364
00:13:54,160 –> 00:13:55,120
wreck 2
365
00:13:55,120 –> 00:13:57,199
را انجام می دهم، همه چیز را در مورد
366
00:13:57,199 –> 00:13:58,959
367
00:13:58,959 –> 00:14:01,360
rect من
368
00:14:01,360 –> 00:14:04,959
به
369
00:14:04,959 –> 00:14:07,040
یاد می آورد. مستطیل های مختلف،
370
00:14:07,040 –> 00:14:08,079
371
00:14:08,079 –> 00:14:11,600
بنابراین من می خواهم چه کار دیگری انجام دهم
372
00:14:11,839 –> 00:14:16,560
، می خواهم پیگیری کنم
373
00:14:16,560 –> 00:14:19,760
طول نقطه خود برابر با
374
00:14:19,760 –> 00:14:22,800
l است و سپس عرض نقطه خود
375
00:14:22,800 –> 00:14:26,480
برابر با w است و امیدوارم که
376
00:14:26,480 –> 00:14:26,720
یک
377
00:14:26,720 –> 00:14:28,880
مرد l باشد، این تفاوت بسیار خطرناک است.
378
00:14:28,880 –> 00:14:30,160
بین یک
379
00:14:30,160 –> 00:14:33,600
l و یک خوب است که در واقع یک l است،
380
00:14:33,600 –> 00:14:35,600
پس حالا چرا نمی
381
00:14:35,600 –> 00:14:36,959
گویید رنگ برابر است با
382
00:14:36,959 –> 00:14:39,760
طول c برابر l با برابر w، زیرا در
383
00:14:39,760 –> 00:14:41,920
آن صورت نمی تواند آنها را ردیابی کند زمانی
384
00:14:41,920 –> 00:14:45,199
که شی دیگری را صدا می کنید و بنابراین وقتی من خودم dot انجام می دهم
385
00:14:45,199 –> 00:14:45,600
386
00:14:45,600 –> 00:14:48,720
می توانم رکت 1 را پیگیری کنم و اگر منطقی باشد می توانم
387
00:14:48,720 –> 00:14:50,399
رک 2 را پیگیری کنم.
388
00:14:50,399 –> 00:14:54,639
389
00:14:54,639 –> 00:14:58,800
همچنین میتوانم بگویم اوه طول راست من را
390
00:14:58,800 –> 00:15:01,199
پرینت
391
00:15:03,199 –> 00:15:06,320
کنید 1
392
00:15:06,320 –> 00:15:09,440
برابر است
393
00:15:09,440 –> 00:15:12,639
و این میتواند کاما باشد که
394
00:15:12,639 –> 00:15:16,000
طول یک نقطه من چقدر
395
00:15:16,000 –> 00:15:19,360
است و به یاد داشته باشید که این
396
00:15:19,360 –> 00:15:21,720
طول نقطهای است که خودش clw نیست.
397
00:15:21,720 –> 00:15:26,639
398
00:15:26,639 –> 00:15:31,040
399
00:15:31,040 –> 00:15:34,240
و سپس می توانم طول راست من
400
00:15:34,240 –> 00:15:37,839
برابر با طول دو نقطه قرمز من باشد
401
00:15:37,839 –> 00:15:41,199
و اجازه دهید این را اجرا
402
00:15:41,199 –> 00:15:44,320
کنیم و رنگ قرمز داشته باشیم و سپس طول رکت یک من
403
00:15:44,320 –> 00:15:47,360
دو شود و سپس رنگ آبی داشته باشیم
404
00:15:47,360 –> 00:15:48,480
405
00:15:48,480 –> 00:15:51,440
طول رکت دو نقطه من چهار است، بنابراین این را ببینید
406
00:15:51,440 –> 00:15:51,759
یک
407
00:15:51,759 –> 00:15:54,160
سازه مبتکرانه است که در آن اکنون این
408
00:15:54,160 –> 00:15:56,160
شیء خراب من
409
00:15:56,160 –> 00:15:58,480
تمام پارامترهای خود را ردیابی می کند
410
00:15:58,480 –> 00:16:00,480
و شما می توانید
411
00:16:00,480 –> 00:16:02,480
412
00:16:02,480 –> 00:16:04,800
بدون از دست دادن دوست قدیمی خود، یکی از دوستان قدیمی خود را
413
00:16:04,800 –> 00:16:06,800
414
00:16:06,800 –> 00:16:08,399
415
00:16:08,399 –> 00:16:11,120
انجام دهید و می توانید همه کارها را انجام دهید. در داخل init
416
00:16:11,120 –> 00:16:14,240
می توانم انجام دهم مانند یک منطقه خود نقطه
417
00:16:14,240 –> 00:16:19,600
برابر است با طول
418
00:16:20,839 –> 00:16:23,680
نقطه خود ضربدر عرض نقطه خود،
419
00:16:23,680 –> 00:16:26,079
اما مشکل این است که برای برخی از مستطیل ها
420
00:16:26,079 –> 00:16:27,920
ممکن است به ناحیه ای که
421
00:16:27,920 –> 00:16:29,519
ممکن است اهمیتی به آن نداشته باشید، بنابراین نمی
422
00:16:29,519 –> 00:16:30,560
خواهید شروع کنید. انجام
423
00:16:30,560 –> 00:16:33,040
عملکرد ns در اینجا هستید و شما یک بافتنی هستید
424
00:16:33,040 –> 00:16:34,560
که فقط میخواهید یا روشهایی
425
00:16:34,560 –> 00:16:36,560
در آن init یا محاسبات در آن
426
00:16:36,560 –> 00:16:38,160
init میخواهید
427
00:16:38,160 –> 00:16:39,759
برای چیزهایی که
428
00:16:39,759 –> 00:16:41,519
ممکن است بخواهید محاسبه کنید روشهای دیگری ایجاد کنید
429
00:16:41,519 –> 00:16:44,000
و سپس آنها را در
430
00:16:44,000 –> 00:16:46,399
init که قرار دادهاید قرار نمیدهید. آنها داخل کلاس هستند
431
00:16:46,399 –> 00:16:48,000
و بنابراین من می خواهم به اینجا بیایم و
432
00:16:48,000 –> 00:16:50,160
بگویم چیزی که ممکن است بخواهیم چیست، ممکن
433
00:16:50,160 –> 00:16:52,800
است منطقه را بخواهیم و تنها چیزی که باید
434
00:16:52,800 –> 00:16:55,040
از آن عبور کنیم مانند خودمان است،
435
00:16:55,040 –> 00:16:56,480
بنابراین متوجه می شود که شما در
436
00:16:56,480 –> 00:16:58,720
مورد رکت من صحبت می کنید
437
00:16:58,720 –> 00:17:02,079
منطقه نقطه بسیار خوب است، بنابراین شما باید خودش را رد کنید تا
438
00:17:02,079 –> 00:17:03,199
بداند کیست
439
00:17:03,199 –> 00:17:06,880
و پس چه
440
00:17:06,880 –> 00:17:09,039
چیزی خوب است، قبلاً به کلاس گفته بودم که
441
00:17:09,039 –> 00:17:10,160
442
00:17:10,160 –> 00:17:12,160
طول خود و عرض خود چه رنگی است و این
443
00:17:12,160 –> 00:17:14,400
اولین کاری است که در این مرحله انجام شد.
444
00:17:14,400 –> 00:17:16,559
طول و عرض خود رنگ را می داند
445
00:17:16,559 –> 00:17:18,640
و بنابراین می توانم بگویم
446
00:17:18,640 –> 00:17:22,720
مساحت خود نقطه برابر است با
447
00:17:22,720 –> 00:17:26,640
طول
448
00:17:26,959 –> 00:17:30,640
خود نقطه ضربدر عرض خود نقطه
449
00:17:30,640 –> 00:17:33,600
در حال حاضر این چیزی است که شما
450
00:17:33,600 –> 00:17:34,720
نمی خواهید
451
00:17:34,720 –> 00:17:35,919
بله من حتی قرار نیست به شما نشان دهم
452
00:17:35,919 –> 00:17:37,919
زیرا این روش بدی برای انجام آن است، بنابراین کاری
453
00:17:37,919 –> 00:17:38,720
که میخواهید انجام دهید این
454
00:17:38,720 –> 00:17:41,200
است که اکنون بشناسید ow ناحیه خود نقطه شما می خواهید ناحیه خود نقطه
455
00:17:41,200 –> 00:17:42,000
را
456
00:17:42,000 –> 00:17:45,120
برگردانید
457
00:17:45,120 –> 00:17:49,919
بسیار خوب، بنابراین
458
00:17:49,919 –> 00:17:53,520
اکنون گفتم rec.color من را چاپ کنید
459
00:17:53,520 –> 00:17:56,080
که فقط یک متغیر مستقیم بود
460
00:17:56,080 –> 00:17:57,520
زیرا در اینجا تعریف شده بود
461
00:17:57,520 –> 00:18:01,520
self.color خیلی خوب است
462
00:18:01,520 –> 00:18:04,880
من طول نقطه rec خود را دارم زیرا آن را دارد
463
00:18:04,880 –> 00:18:08,160
درست اینجا بود طول خود نقطه این خود را تعریف می کند
464
00:18:08,160 –> 00:18:09,039
465
00:18:09,039 –> 00:18:12,080
این منطقه تعریف شده نامیده نشده است،
466
00:18:12,080 –> 00:18:12,960
467
00:18:12,960 –> 00:18:14,320
بنابراین کاری که باید انجام دهید این است که باید
468
00:18:14,320 –> 00:18:16,640
آن را خوب صدا کنید چگونه
469
00:18:16,640 –> 00:18:20,080
آن را صدا کنید می توانید این کار را انجام دهید می توانید بگویید
470
00:18:20,080 –> 00:18:23,919
چاپ و شما می توانم بگویم که
471
00:18:23,919 –> 00:18:29,039
ناحیه من 1 مساوی است
472
00:18:29,039 –> 00:18:31,600
خوب است و سپس باید آن
473
00:18:31,600 –> 00:18:34,160
تابع را فراخوانی کنم چگونه آن را صدا بزنم خوب است
474
00:18:34,160 –> 00:18:38,400
من خرابی من رکت
475
00:18:38,400 –> 00:18:42,400
1 من رکت 1 و من در اینجا کوچکتر
476
00:18:42,400 –> 00:18:44,080
می شوم تا مطمئن شوم که از شما خارج شده ام به روشی
477
00:18:44,080 –> 00:18:47,120
که ناحیه یک نقطهای را رکت میکنم
478
00:18:47,120 –> 00:18:49,600
و سپس باید باز کردن را انجام دهید
479
00:18:49,600 –> 00:18:50,720
480
00:18:50,720 –> 00:18:53,679
خب چرا من باید یک بسته باز را در اینجا انجام دهم
481
00:18:53,679 –> 00:18:54,240
482
00:18:54,240 –> 00:18:57,520
زیرا شما این
483
00:18:57,520 –> 00:19:00,960
روش ناحیه را فراخوانی میکنید خیلی خوب است، شما فقط
484
00:19:00,960 –> 00:19:01,760
485
00:19:01,760 –> 00:19:05,039
چاپ احمقانه یک خود متغیر را چاپ نمیکنید. اکنون رنگ کنید
486
00:19:05,039 –> 00:19:07,679
اگر میگفتم self.area
487
00:19:07,679 –> 00:19:09,520
بار عرض اینجا با اینجا مرتبط است، میتوانم منطقه
488
00:19:09,520 –> 00:19:10,480
wreck را انجام دهم
489
00:19:10,480 –> 00:19:13,440
اما من من این کار را انجام نمی دهم،
490
00:19:13,440 –> 00:19:13,760
491
00:19:13,760 –> 00:19:17,039
متدی به نام area وجود دارد و
492
00:19:17,039 –> 00:19:20,720
من rect1.area خود را فراخوانی می کنم،
493
00:19:20,720 –> 00:19:22,799
بنابراین از آنجایی که
494
00:19:22,799 –> 00:19:25,440
من آن متد را فراخوانی می کنم، باید پرانتزهای باز و بسته
495
00:19:25,440 –> 00:19:26,720
496
00:19:26,720 –> 00:19:29,919
را قرار دهم، هیچ پارامتری به آن پاس نمی دهم که چرا
497
00:19:29,919 –> 00:19:33,120
چون
498
00:19:33,120 –> 00:19:35,120
مستطیل قرار است بگوید. راستی من کیست
499
00:19:35,120 –> 00:19:36,240
500
00:19:36,240 –> 00:19:39,760
و بعد از قبل
501
00:19:39,760 –> 00:19:42,640
طول و عرض را میداند، مساحت را محاسبه میکند
502
00:19:42,640 –> 00:19:43,039
و بعد
503
00:19:43,039 –> 00:19:46,480
مساحت را به همین شکل برمیگرداند، پس
504
00:19:46,480 –> 00:19:48,160
بیایید این را امتحان کنیم
505
00:19:48,160 –> 00:19:51,280
و بوم کنیم، آیا میبینی که
506
00:19:51,280 –> 00:19:52,480
طول
507
00:19:52,480 –> 00:19:55,679
رکت وان من 2 است و مساحت راست من 1 است. 2 است زیرا
508
00:19:55,679 –> 00:19:58,880
2 ضربدر 1 است بنابراین منطقه را برگرداند بله
509
00:19:58,880 –> 00:20:02,080
بسیار خوب یا کاری که می توانید انجام دهید این است
510
00:20:02,080 –> 00:20:03,919
که می توانید به اینجا بیایید و می توانید
511
00:20:03,919 –> 00:20:06,320
کاری انجام دهید که می توانید تماس بگیرید
512
00:20:06,320 –> 00:20:09,520
و فقط می توانید بگویید مساحت برابر با
513
00:20:09,520 –> 00:20:12,640
ناحیه یک نقطه صحیح من است
514
00:20:12,640 –> 00:20:14,159
و سپس بسته باز است زیرا ما
515
00:20:14,159 –> 00:20:15,679
آن روش را فراخوانی می کنیم
516
00:20:15,679 –> 00:20:18,080
و سپس در اینجا می توانیم فقط ناحیه را چاپ کنیم
517
00:20:18,080 –> 00:20:20,640
و سپس بیایید آن بوم را امتحان کنیم
518
00:20:20,640 –> 00:20:23,600
که به همان خوبی کار می کند منطقه rect 1 من
519
00:20:23,600 –> 00:20:24,480
520
00:20:24,480 –> 00:20:27,360
برابر با 2 است.
521
00:20:27,360 –> 00:20:30,720
احساس
522
00:20:30,880 –> 00:20:34,400
خوبی داشته باشید و دوباره متوجه شوید که هستیم
523
00:20:34,400 –> 00:20:37,200
در حال فراخوانی ما در حال ایجاد rect من
524
00:20:37,200 –> 00:20:39,039
در اینجا در من rec two در اینجا هستیم
525
00:20:39,039 –> 00:20:40,960
و پس از ایجاد آن اشیا
526
00:20:40,960 –> 00:20:42,880
می توانم با رکت یک بازی کنم یا می
527
00:20:42,880 –> 00:20:44,720
توانم با راک دو بازی کنم و می توانم به
528
00:20:44,720 –> 00:20:46,960
سمت راست بروم دو به عقب و جلو بروم
529
00:20:46,960 –> 00:20:49,360
اما پایتون نگه می دارد پیگیری کنید که در این
530
00:20:49,360 –> 00:20:50,799
کلاس دو
531
00:20:50,799 –> 00:20:54,720
شی وجود دارد من rect 1 و my rect 2
532
00:20:54,720 –> 00:20:56,559
و همه آنها را از هم جدا نگه می دارد زیرا
533
00:20:56,559 –> 00:20:59,520
هر زمان که آن را صدا می زنیم
534
00:20:59,520 –> 00:21:02,400
نام خود را منتقل می کند تا بداند که شما
535
00:21:02,400 –> 00:21:03,039
536
00:21:03,039 –> 00:21:05,039
با کدام یک
537
00:21:05,039 –> 00:21:06,240
میمون می شوید. با
538
00:21:06,240 –> 00:21:07,760
موارد دیگری که ممکن است بخواهید انجام دهید،
539
00:21:07,760 –> 00:21:11,919
ممکن است بخواهید تعریف
540
00:21:11,919 –> 00:21:14,240
محیط خود را بگویید، بنابراین باید از آن عبور کنید که با چه کسی
541
00