در این مطلب، ویدئو رمزگشایی کوروتین ها و برنامه نویسی ناهمزمان در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:22:40
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:15,129 –> 00:00:18,439
سلام سلام به همه متشکرم از حضور شما
2
00:00:18,439 –> 00:00:19,490
در اینجا
3
00:00:19,490 –> 00:00:21,650
نام من ماریانو نیا است. من یک مهندس نرم افزار
4
00:00:21,650 –> 00:00:23,289
در Skyscanner
5
00:00:23,289 –> 00:00:25,400
هستم و امروز در مورد
6
00:00:25,400 –> 00:00:27,199
برنامه نویسی همزمان و نحوه عملکرد آن
7
00:00:27,199 –> 00:00:32,390
در پایتون
8
00:00:32,390 –> 00:00:36,320
بیشتر صحبت خواهم کرد.
9
00:00:36,320 –> 00:00:38,210
سنگهای ذهنی که
10
00:00:38,210 –> 00:00:40,579
در نسخههای پایتون اتفاق میافتادند که در زبان برنامهنویسی ما
11
00:00:40,579 –> 00:00:43,550
به وضعیت فعلی هنر رسیدهاند،
12
00:00:43,550 –> 00:00:46,399
اساساً
13
00:00:46,399 –> 00:00:49,280
شاید من برخی از کارهای قدیمی را تجربه کردهام
14
00:00:49,280 –> 00:00:50,870
تا به خوبی درک کنم،
15
00:00:50,870 –> 00:00:54,139
سنگ بنای اصلی با این ایده نبوده است.
16
00:00:54,139 –> 00:00:56,510
کاوش در API زیرا احتمالاً از
17
00:00:56,510 –> 00:00:58,129
قبل این را میدانید یا میدانید
18
00:00:58,129 –> 00:01:00,049
چگونه از توابع استفاده کنید، اما زمانی که
19
00:01:00,049 –> 00:01:02,239
علاقه دارید بدانید پشت آن
20
00:01:02,239 –> 00:01:04,369
چیست یا چیزها چگونه کار میکنند یا کنجکاو هستید
21
00:01:04,369 –> 00:01:07,430
که چه چیزی در داخل رایگان است، بنابراین این
22
00:01:07,430 –> 00:01:09,770
یک سفر طولانی و واقعی است. از نظر زمانی،
23
00:01:09,770 –> 00:01:11,180
زیرا با چیزی شروع می شود
24
00:01:11,180 –> 00:01:13,250
که مدت ها پیش با
25
00:01:13,250 –> 00:01:16,460
ژنراتورها در سال 2001 در نسخه بسیار
26
00:01:16,460 –> 00:01:20,240
قدیمی پایتون 2.2 به وجود آمد و این
27
00:01:20,240 –> 00:01:22,400
ایده امروز برای پشتیبانی از m. یک
28
00:01:22,400 –> 00:01:25,010
روش محاسباتی کارآمد مانند به
29
00:01:25,010 –> 00:01:26,510
عنوان مثال آنها با
30
00:01:26,510 –> 00:01:28,610
تکرار تمام متناوب در ذهن ایجاد شده اند، بنابراین فرض کنید
31
00:01:28,610 –> 00:01:32,870
باید دسته بزرگی از اشیاء را پردازش کنید
32
00:01:32,870 –> 00:01:34,820
، مثلاً یک میلیون عدد یا یک
33
00:01:34,820 –> 00:01:36,980
تریلیون عدد و یک راه برای انجام این کار که
34
00:01:36,980 –> 00:01:38,660
شما می گویید من می توانم آن را پردازش کنم. همه چیز را در یک لیست قرار دهید
35
00:01:38,660 –> 00:01:40,670
و سپس لیست را پردازش کنید و این
36
00:01:40,670 –> 00:01:43,250
کار میکند، اما شما مقدار زیادی حافظه خواهید گرفت
37
00:01:43,250 –> 00:01:46,370
، برای هر شیئی هم همینطور است
38
00:01:46,370 –> 00:01:48,590
، بنابراین ایده این بود که خوب، اجازه دهید
39
00:01:48,590 –> 00:01:50,540
مکانیزمی را در پایتون ارائه کنیم تا بتوانیم
40
00:01:50,540 –> 00:01:53,120
تنها شیء را تولید کنیم. من به یک
41
00:01:53,120 –> 00:01:54,860
نقطه زمانی معین و نه بیشتر از
42
00:01:54,860 –> 00:01:58,070
آن نیاز دارم و مقدار زیادی حافظه را ذخیره
43
00:01:58,070 –> 00:02:01,700
میکنم، بنابراین نکته اینجاست که VIS وجود دارد،
44
00:02:01,700 –> 00:02:03,620
ما میگوییم حافظه خوب است و مانند
45
00:02:03,620 –> 00:02:05,840
الگوی تکرار پشتیبانی میکنیم و در نقطهای از
46
00:02:05,840 –> 00:02:07,400
زمان ژنراتور در حال حرکت است. تا به
47
00:02:07,400 –> 00:02:09,199
ما مقدار مورد نیاز برای آن لحظه خاص را بدهد
48
00:02:09,199 –> 00:02:10,878
و در آنجا معلق
49
00:02:10,878 –> 00:02:13,040
می شود و تا زمانی که
50
00:02:13,040 –> 00:02:14,900
دوباره آن را با مقدار بعدی که به آن
51
00:02:14,900 –> 00:02:18,950
نیاز داریم فراخوانی کنیم، یک کلمه کلیدی جدید معرفی شد
52
00:02:18,950 –> 00:02:22,130
و این کار مانند دو c بسیار ساده است
53
00:02:22,130 –> 00:02:24,680
. در واقع شما هر تابعی دارید اما اگر
54
00:02:24,680 –> 00:02:28,360
تابع هش
55
00:02:28,360 –> 00:02:31,459
در هر قسمتی از بدنش یک عبارت Geo
56
00:02:31,459 –> 00:02:34,040
داشته باشد، یک تابع مولد خواهد بود،
57
00:02:34,040 –> 00:02:36,080
به این معنی که وقتی آن را فراخوانی
58
00:02:36,080 –> 00:02:37,340
میکنید از مقدار تابع، هر چیزی
59
00:02:37,340 –> 00:02:39,110
که باشد اجرا نمیشود. قرار است
60
00:02:39,110 –> 00:02:40,940
یک شی مولد به شما بدهد، به طوری که
61
00:02:40,940 –> 00:02:42,290
وقتی آن را صدا میزنید مانند یک کارخانه بودند، دریافت خواهید
62
00:02:42,290 –> 00:02:44,599
کرد و یک ژنراتور که به تازگی
63
00:02:44,599 –> 00:02:46,700
ساخته شده است و سپس شروع به کار
64
00:02:46,700 –> 00:02:49,220
با آن شی میکنید و عنصر را یکی یکی پیش میبرید و
65
00:02:49,220 –> 00:02:52,850
در مرحله بعد به
66
00:02:52,850 –> 00:02:54,350
عنصری که ژنراتور در
67
00:02:54,350 –> 00:02:55,670
آنجا تعلیق می کند مانند
68
00:02:55,670 –> 00:02:59,299
یخ زده خواهد بود که در انتظار سرد شدن مجدد با
69
00:02:59,299 –> 00:03:01,069
مقدار بعدی است و هیچ چیز دیگری برای
70
00:03:01,069 –> 00:03:04,130
تولید وجود ندارد زیرا تمام شده است و در
71
00:03:04,130 –> 00:03:06,110
این حالت استثناء توقف تکرار ایجاد می شود
72
00:03:06,110 –> 00:03:09,110
که مکانیزمی برای سیگنال دادن به
73
00:03:09,110 –> 00:03:12,650
آن است. این تکرار به پایان رسیده است، بنابراین اکنون اجازه دهید
74
00:03:12,650 –> 00:03:15,019
بگوییم که بعد از آن که میخواهیم از
75
00:03:15,019 –> 00:03:18,560
کوروتینها در پایتون پشتیبانی کنیم و من حتی
76
00:03:18,560 –> 00:03:20,630
مانند یک دانشگاه یا مانند یک
77
00:03:20,630 –> 00:03:22,400
تعریف رسمی از کیفیتها نیستم که برای
78
00:03:22,400 –> 00:03:24,049
این هدف باشد. از این گفتگو، ما می
79
00:03:24,049 –> 00:03:26,359
خواهیم درک عملگرایانه تری از
80
00:03:26,359 –> 00:03:28,030
کیفیت ها داشته باشیم، چیزی شبیه به این است
81
00:03:28,030 –> 00:03:31,340
که شما می توانید در هر مقطع زمانی آن را به حالت تعلیق در
82
00:03:31,340 –> 00:03:33,470
آورید، اما همچنین می خواهید بتوانید
83
00:03:33,470 –> 00:03:36,200
در مرحله بعدی برنامه از سر
84
00:03:36,200 –> 00:03:38,390
بگیرید تا بتوانید اجرا را
85
00:03:38,390 –> 00:03:42,680
با مقادیر مختلف ادامه دهید، بنابراین اگر بخواهیم
86
00:03:42,680 –> 00:03:44,870
این را در پایتون لایک پیاده سازی کنیم و
87
00:03:44,870 –> 00:03:47,120
شروع کنیم به فکر کردن خوب چگونه می توانیم این
88
00:03:47,120 –> 00:03:51,980
کار را انجام دهیم، باید بگوییم
89
00:03:51,980 –> 00:03:53,600
از ابتدا شروع کنیم و
90
00:03:53,600 –> 00:03:55,760
همه چیز را در بالا پیاده سازی کنیم یا چیزی وجود دارد
91
00:03:55,760 –> 00:03:57,410
که ما می توانم از قبل استفاده کنم
92
00:03:57,410 –> 00:03:59,269
و دلیل اینکه من با ژنراتورها شروع کردم این
93
00:03:59,269 –> 00:04:01,400
است که خوب آنها
94
00:04:01,400 –> 00:04:03,650
چیزی دارند که می توانیم از آن برای مزیت استفاده کنیم
95
00:04:03,650 –> 00:04:05,299
که نقطه تعلیق است
96
00:04:05,299 –> 00:04:07,910
به یاد داشته باشید که یک ژنراتور
97
00:04:07,910 –> 00:04:09,290
در یک نقطه معلق است از نظر مترجم
98
00:04:09,290 –> 00:04:12,200
در قسمتی منجمد شده است. از کد و سپس
99
00:04:12,200 –> 00:04:14,840
میتوان آن را بعداً از سر گرفت، بنابراین این پپ
100
00:04:14,840 –> 00:04:16,310
آمده است که توسط ژنراتورهای پیشرفته نوشته میشود،
101
00:04:16,310 –> 00:04:18,709
زیرا بسیار خوب، چیزی وجود دارد
102
00:04:18,709 –> 00:04:20,358
که میتوانیم از آن بهره ببریم،
103
00:04:20,358 –> 00:04:22,130
بنابراین لازم نیست همه کارها را انجام
104
00:04:22,130 –> 00:04:24,620
دهیم. دوباره hing پس بیایید با هم مرور
105
00:04:24,620 –> 00:04:26,450
کنیم که با ژنراتورهای با تعلیق ساده تا کجا می توانیم پیش برویم
106
00:04:26,450 –> 00:04:28,280
107
00:04:28,280 –> 00:04:30,200
بله در واقع
108
00:04:30,200 –> 00:04:32,180
استفاده از آنها در وهله اول این بود
109
00:04:32,180 –> 00:04:34,280
اما آیا می توانیم برخی از داده ها را به ژنراتور منتقل کنیم.
110
00:04:34,280 –> 00:04:36,590
111
00:04:36,590 –> 00:04:38,300
یک فرم بسیار ابتدایی
112
00:04:38,300 –> 00:04:41,380
نه که امکان پذیر نیست،
113
00:04:41,380 –> 00:04:43,940
چه در مورد استثناها می توانیم یک
114
00:04:43,940 –> 00:04:46,490
استثنا به ژنراتور خود بفرستیم. whines
115
00:04:46,490 –> 00:04:49,010
معلق است تا سیگنالی باشد که
116
00:04:49,010 –> 00:04:53,270
چیزی در برنامه در حال انجام است نه
117
00:04:53,270 –> 00:04:55,550
امکان پذیر نیست، به همین دلیل است که قسمت پیشرفته
118
00:04:55,550 –> 00:04:57,950
آنقدر طولانی شد و رابط کاربری
119
00:04:57,950 –> 00:05:01,160
ژنراتورها باید گسترش می یافتند، بنابراین
120
00:05:01,160 –> 00:05:04,130
روش های بیشتری برای تحقق این هدف اضافه شد، به
121
00:05:04,130 –> 00:05:06,920
عنوان مثال همان روشی که ما
122
00:05:06,920 –> 00:05:09,710
و استثناهای دسته و
123
00:05:09,710 –> 00:05:12,200
نزدیک به پاکسازی در روال اصلی
124
00:05:12,200 –> 00:05:14,240
یا ژنراتور را انجام می دهیم، اما از نظر فنی
125
00:05:14,240 –> 00:05:16,220
این فقط یک مورد خاص از پرتاب است.
126
00:05:16,220 –> 00:05:18,190
این فقط یک دست است به عنوان یک استثنا
127
00:05:18,190 –> 00:05:20,990
که خروج ژنراتور است، اما
128
00:05:20,990 –> 00:05:22,670
مهم ترین آن پایان آن است زیرا این چیزی است
129
00:05:22,670 –> 00:05:26,270
که معنای شناسی را کمی تغییر می دهد، بنابراین
130
00:05:26,270 –> 00:05:29,510
اکنون اجازه دهید برای یک مورد توقف کنیم. دوم در این
131
00:05:29,510 –> 00:05:32,330
مفهوم، زیرا بسیار خوب، ما ژنراتور
132
00:05:32,330 –> 00:05:33,770
داریم و شروع به قرنطینه فکر
133
00:05:33,770 –> 00:05:35,630
می کنیم، زیرا می توانیم چیزی ایجاد کنیم که
134
00:05:35,630 –> 00:05:37,670
بتوانیم آن را به حالت تعلیق در آوریم و بتوانیم در برنامه منتظر بمانیم
135
00:05:37,670 –> 00:05:41,120
و زمان را در برنامه قرار دهیم، بنابراین از نظر
136
00:05:41,120 –> 00:05:42,560
نحوی تفاوتی
137
00:05:42,560 –> 00:05:44,990
وجود ندارد که هیچ تغییری در کوروتین ها ایجاد نشده است.
138
00:05:44,990 –> 00:05:48,410
آنها همچنان از کلمه کلیدی Jill
139
00:05:48,410 –> 00:05:51,050
مانند مولدهای قدیمی استفاده می کنند و
140
00:05:51,050 –> 00:05:53,840
شروعی بودند اما از نظر معنایی
141
00:05:53,840 –> 00:05:55,820
متفاوت هستند زیرا و من
142
00:05:55,820 –> 00:05:57,980
بعداً در چند اسلاید به این موضوع خواهم رسید اما فقط
143
00:05:57,980 –> 00:05:59,840
به خاطر داشته باشید که اگرچه آنها
144
00:05:59,840 –> 00:06:02,090
یکسان نوشته شده اند و آنها حتی
145
00:06:02,090 –> 00:06:04,610
از نظر فنی از نظر مفهومی یکسان
146
00:06:04,610 –> 00:06:06,530
هستند، آنها مردانی با
147
00:06:06,530 –> 00:06:09,230
اهداف کاملاً متفاوت هستند و این نیز
148
00:06:09,230 –> 00:06:11,570
یک تثبیت کننده مهم خواهد بود، اما در حال حاضر
149
00:06:11,570 –> 00:06:13,040
اجازه دهید بگوییم چگونه می توانیم با
150
00:06:13,040 –> 00:06:15,350
روال های مشترک حداقل به شکل بسیار ابتدایی تعامل داشته باشیم،
151
00:06:15,350 –> 00:06:17,330
زیرا آنها هنوز هم بودند. در یک
152
00:06:17,330 –> 00:06:19,570
نسخه بسیار قدیمی پایتون این هنوز به
153
00:06:19,570 –> 00:06:25,640
پایتون 2.5 2005 است و اکنون جیل نه تنها
154
00:06:25,640 –> 00:06:28,370
مقادیر رنگ را تولید می کند، بلکه می
155
00:06:28,370 –> 00:06:33,470
توانیم مقداری نیز در نتیجه دریافت کنیم، بنابراین اکنون Jill
156
00:06:33,470 –> 00:06:35,960
برای نتیجه مثال این
157
00:06:35,960 –> 00:06:37,490
است که وقتی مولد یا مقدار آندرس را فراخوانی میکنیم، رنگ به جایی میرسد که
158
00:06:37,490 –> 00:06:41,360
در
159
00:06:41,360 –> 00:06:43,100
این مورد، مقدار متغیر
160
00:06:43,100 –> 00:06:45,290
همان چیزی است که از
161
00:06:45,290 –> 00:06:45,960
162
00:06:45,960 –> 00:06:48,330
بیرون به هسته منتقل میشود، بنابراین من
163
00:06:48,330 –> 00:06:51,020
یک مثال کوچک آماده کردم. فقط برای نشان دادن این،
164
00:06:51,020 –> 00:06:53,759
بیایید بگوییم که چگونه قرنطینه ای که فقط
165
00:06:53,759 –> 00:06:56,490
تکرار می شود و شامل مراحلی است و
166
00:06:56,490 –> 00:06:59,009
در دوی سرعت هر آنچه خدا دریافت کرده است، بنابراین
167
00:06:59,009 –> 00:07:01,289
من می خواهم آن قرنطینه را ایجاد کنم و
168
00:07:01,289 –> 00:07:03,030
شروع به ارسال مقادیر کنم فقط برای اینکه ببینم
169
00:07:03,030 –> 00:07:06,389
این جغرافیای کنونی چگونه به هر دو صورت کار می کند،
170
00:07:06,389 –> 00:07:09,710
بنابراین اولین چیز من این کار را انجام می دهم این است که
171
00:07:09,710 –> 00:07:12,919
رکورد را در مکث آن برای یک ثانیه منتظر بسازم، بنابراین
172
00:07:12,919 –> 00:07:15,830
وقتی ایجاد کردم به یاد داشته باشید که یک شی ژنراتور به من می دهد
173
00:07:15,830 –> 00:07:17,880
زیرا مانند یک
174
00:07:17,880 –> 00:07:21,240
کارخانه است و من دفعه اول تماس بعدی را می گیرم
175
00:07:21,240 –> 00:07:23,039
این کمی مهم است زیرا اگر این
176
00:07:23,039 –> 00:07:25,199
کار را نکنم call next من نمی توانم
177
00:07:25,199 –> 00:07:27,750
چیزی برای آن بفرستم یا با خطای نوع مواجه می شوم
178
00:07:27,750 –> 00:07:30,389
این به این دلیل است که بعدی به یاد داشته باشید
179
00:07:30,389 –> 00:07:33,150
که اجرای
180
00:07:33,150 –> 00:07:35,220
قرنطینه یا UPS ژنراتور را به
181
00:07:35,220 –> 00:07:37,380
بیانیه جغرافیایی بعدی منتقل می کند بنابراین باید پست شود.
182
00:07:37,380 –> 00:07:40,740
در آنجا بتوانم اولین عنصر را بفرستم،
183
00:07:40,740 –> 00:07:43,320
بنابراین اکنون برنامه تا
184
00:07:43,320 –> 00:07:46,289
آن نقطه از کار افتاده است که منتظر
185
00:07:46,289 –> 00:07:48,750
چیزی است و به آن خط نگاه کنید،
186
00:07:48,750 –> 00:07:51,150
یکی مثل این است که می توانید ببینید می توانید فکر کنید
187
00:07:51,150 –> 00:07:53,280
که آن خط به دو صورت تقسیم شده است
188
00:07:53,280 –> 00:07:57,990
و فقط نصف آن استمن بخشی را اجرا
189
00:07:57,990 –> 00:08:00,060
می کند که مقدار 0 را به من می دهد که باعث شد
190
00:08:00,060 –> 00:08:01,680
مرحله اول را که در 0 1 شروع شده است را به دست آورد،
191
00:08:01,680 –> 00:08:03,810
بنابراین اکنون می توانم
192
00:08:03,810 –> 00:08:05,550
با ژنراتور تعامل کنم و فرض کنیم که
193
00:08:05,550 –> 00:08:09,510
من می دانم 100 و قسمت
194
00:08:09,510 –> 00:08:11,909
دوم آن را ارسال می کنم. عبارتی که در کلمات کار می کند
195
00:08:11,909 –> 00:08:14,430
، فرض کنید به سمت از
196
00:08:14,430 –> 00:08:15,780
خارج به ژنراتور اجرا می شود، اکنون
197
00:08:15,780 –> 00:08:18,180
دریافت مقدار 100 را خواهد داشت
198
00:08:18,180 –> 00:08:19,800
زیرا hollis است و سپس
199
00:08:19,800 –> 00:08:21,270
بقیه برنامه اجرا می شود، بنابراین
200
00:08:21,270 –> 00:08:22,860
مرحله را افزایش می دهد. قرار است
201
00:08:22,860 –> 00:08:25,680
هر چیزی را که فرستادم چاپ کند که مقدار آن 100
202
00:08:25,680 –> 00:08:27,720
است، به ابتدای حلقه بازمی گردد،
203
00:08:27,720 –> 00:08:30,449
جایی که بقیه به بیانیه واقعی می رسد
204
00:08:30,449 –> 00:08:31,949
و سپس
205
00:08:31,949 –> 00:08:33,450
معامله بعدی را که قرار است
206
00:08:33,450 –> 00:08:35,309
دوباره پست کند پیدا می کند و تا زمانی که نیاز داشته باشم در آنجا تعلیق می کند. برای
207
00:08:35,309 –> 00:08:37,380
انجام کاری در مورد آن و
208
00:08:37,380 –> 00:08:40,409
آرایه مرحله now 1 را به دست آورد
209
00:08:40,409 –> 00:08:43,349
که نتیجه سینوسی های sin می شود و شبیه
210
00:08:43,349 –> 00:08:45,690
به next است در واقع اکنون بعدی یک
211
00:08:45,690 –> 00:08:49,079
مورد خاص از گناه است، بنابراین فراخوانی بعدی
212
00:08:49,079 –> 00:08:52,529
روی یک ژنراتور مانند ارسال هیچ است اما
213
00:08:52,529 –> 00:08:55,620
یک ایده عجیب و غریب که چه چیزی
214
00:08:55,620 –> 00:08:57,839
سازگار است و اکنون ما معناشناسی
215
00:08:57,839 –> 00:08:58,630
را داریم و
216
00:08:58,630 –> 00:09:01,330
این عمدی است مانند مثال ساده
217
00:09:01,330 –> 00:09:03,250
فقط برای نشان دادن نحوه کار کردن آن
218
00:09:03,250 –> 00:09:05,260
نشاندهنده آغاز کار روتینها است زیرا اکنون
219
00:09:05,260 –> 00:09:07,060
که میتوانیم اسپانیا و با روال اصلی تعامل داشته
220
00:09:07,060 –> 00:09:09,010
221
00:09:09,010 –> 00:09:11,770
باشیم، میتوانیم برنامهنویسی همزمان انجام دهیم، میتوانیم آن را به حالت تعلیق درآوریم. و
222
00:09:11,770 –> 00:09:15,670
در حالیکه
223
00:09:15,670 –> 00:09:17,380
در برنامه سیگنال میدهید که در حال
224
00:09:17,380 –> 00:09:19,390
انتظار است و چیز دیگری وجود دارد که
225
00:09:19,390 –> 00:09:24,670
می توان آن را اجرا کرد و حالا اگر بفرستم یا
226
00:09:24,670 –> 00:09:26,560
استثنایی ایجاد کنم
227
00:09:26,560 –> 00:09:28,330
می توانید هر اتفاقی که بیفتد را دریافت کنید و یک عملیات i/o غیر مسدود انجام دهید
228
00:09:28,330 –> 00:09:31,150
. استثنا در نقطهای پرتاب میشود
229
00:09:31,150 –> 00:09:33,520
که روال اصلی به
230
00:09:33,520 –> 00:09:35,830
حالت تعلیق در میآید و در این مورد
231
00:09:35,830 –> 00:09:38,320
شکست میخورد زیرا مدیریت نمیشود، اما
232
00:09:38,320 –> 00:09:40,600
میتوانید به عنوان بخشی از منطق خود برای
233
00:09:40,600 –> 00:09:43,570
رسیدگی به استثناء اضافه کنید. البته خوب است که این
234
00:09:43,570 –> 00:09:45,970
غذا عالی است، اما بیایید ببینیم که آیا
235
00:09:45,970 –> 00:09:48,130
می توانیم آب و هوا را انجام دهیم، زیرا این
236
00:09:48,130 –> 00:09:50,680
کاملاً راحت نیست و اگر
237
00:09:50,680 –> 00:09:52,480
بخواهیم برنامه های بزرگتری داشته باشیم یا بخواهیم برنامه های
238
00:09:52,480 –> 00:09:56,080
اصلی خود را منعکس کنیم، چه می شود، بنابراین این مقاله
239
00:09:56,080 –> 00:09:59,200
با 380 مورد آمد. در واقع اکنون ما
240
00:09:59,200 –> 00:10:01,210
در پایتون 3 هستیم، بنابراین به API فعلی نزدیک میشویم که
241
00:10:01,210 –> 00:10:04,510
گفتم 6 نحو برای
242
00:10:04,510 –> 00:10:06,730
تفویض اختیار ژنراتورها به ما و این
243
00:10:06,730 –> 00:10:09,010
در واقع بسیار مهم است
244
00:10:09,010 –> 00:10:12,160
زیرا مانند دو پیشرفت مهم است،
245
00:10:12,160 –> 00:10:14,380
ابتدا ژنراتورها میتوانند
246
00:10:14,380 –> 00:10:16,450
مقادیر قبل از آن را برگردانند. غیرممکن بود شما
247
00:10:16,450 –> 00:10:18,010
نمی توانید یک عبارت بازگشتی را در
248
00:10:18,010 –> 00:10:20,650
یک ژنراتور داشته باشید زیرا این یک خطای نحوی خواهد بود
249
00:10:20,650 –> 00:10:21,010
250
00:10:21,010 –> 00:10:23,200
و اکنون chill from syntax
251
00:10:23,200 –> 00:10:25,210
معرفی شده است که
252
00:10:25,210 –> 00:10:26,860
معناشناسی و چگونگی ارتباط هر دو چیز را توضیح می دهد
253
00:10:26,860 –> 00:10:30,310
که یکی با دیگری ارتباط دارد، بنابراین
254
00:10:30,310 –> 00:10:33,130
بیایید بگوییم من یک ژنراتور یا روال ساده دیگر داشته باشید
255
00:10:33,130 –> 00:10:34,750
که فقط
256
00:10:34,750 –> 00:10:36,550
دو مقدار تولید می کند و من آن را
257
00:10:36,550 –> 00:10:38,830
بار اول می نامم که یکی را گرفتم، البته
258
00:10:38,830 –> 00:10:40,420
بار دوم را هم دریافت کردم و
259
00:10:40,420 –> 00:10:42,220
سپس چیز دیگری برای تولید وجود ندارد و
260
00:10:42,220 –> 00:10:44,110
به یاد داشته باشید که توقف تکرار
261
00:10:44,110 –> 00:10:46,360
استثنایی بود که نشان میداد
262
00:10:46,360 –> 00:10:48,040
آن ژنراتور تمام شده است و
263
00:10:48,040 –> 00:10:50,440
هیچ چیز دیگری برای تولید وجود ندارد، خوب حالا
264
00:10:50,440 –> 00:10:53,110
همین اتفاق میافتد، اما مقدار بازگشتی
265
00:10:53,110 –> 00:10:55,510
در استثنا م