در این مطلب، ویدئو Python Iterators | تکرار شونده ها و تکرار کننده ها در پایتون | آموزش پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:14:23
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,240 –> 00:00:02,399
در این ویدیو به شما نشان میدهم
2
00:00:02,399 –> 00:00:04,640
که تکرارکنندهها در پایتون
3
00:00:04,640 –> 00:00:07,759
چیست و چگونه از تکرارکنندهها در پایتون استفاده کنید
4
00:00:07,759 –> 00:00:09,840
و در پایان نیز به شما نشان میدهم که
5
00:00:09,840 –> 00:00:12,320
چگونه میتوانید کلاس تکرارکننده سفارشی خود را در پایتون ایجاد کنید،
6
00:00:12,320 –> 00:00:15,440
7
00:00:15,440 –> 00:00:17,920
بنابراین بیایید شروع کنیم و بیایید اول
8
00:00:17,920 –> 00:00:18,800
از
9
00:00:18,800 –> 00:00:22,320
همه ببینید تکرار کننده چیست، اما قبل از آن
10
00:00:22,320 –> 00:00:24,960
باید بفهمیم تکرار
11
00:00:24,960 –> 00:00:28,160
چیست، بنابراین تکرار چیست، عمل
12
00:00:28,160 –> 00:00:31,199
عبور از یک مجموعه تکرار نامیده می شود،
13
00:00:31,199 –> 00:00:34,239
اکنون در مورد چه نوع مجموعه
14
00:00:34,239 –> 00:00:35,520
هایی صحبت می
15
00:00:35,520 –> 00:00:37,440
کنیم، قبلاً
16
00:00:37,440 –> 00:00:39,280
مجموعه هایی مانند
17
00:00:39,280 –> 00:00:43,040
مجموعهها و مجموعههای دیکشنری تاپلها و مجموعههای دیگر را فهرست میکند
18
00:00:43,040 –> 00:00:44,559
19
00:00:44,559 –> 00:00:47,680
و تا کنون آنچه دیدهایم این است که میتوانیم
20
00:00:47,680 –> 00:00:49,280
از یک حلقه for
21
00:00:49,280 –> 00:00:52,079
برای تکرار روی یک مجموعه استفاده کنیم، بنابراین تا کنون
22
00:00:52,079 –> 00:00:53,920
چیزی که یاد گرفتهایم این است که به عنوان مثال
23
00:00:53,920 –> 00:00:56,160
میخواهم مجموعهای را اعلام کنم
24
00:00:56,160 –> 00:00:59,280
که در فهرست قرار دارد. این مورد و
25
00:00:59,280 –> 00:01:00,320
من فقط
26
00:01:00,320 –> 00:01:03,840
مقداری را در لیست اضافه می کنم و وقتی
27
00:01:03,840 –> 00:01:05,119
لیست را اعلام کردم
28
00:01:05,119 –> 00:01:08,000
می توانم روی این لیست با استفاده از یک حلقه for تکرار کنم،
29
00:01:08,000 –> 00:01:08,640
بنابراین
30
00:01:08,640 –> 00:01:12,799
بیایید برای i در نام مجموعه بگوییم
31
00:01:12,799 –> 00:01:16,560
و سپس می توانید چاپ را در اینجا بنویسید تا چاپ شود.
32
00:01:16,560 –> 00:01:18,720
هر یک از مقادیر این
33
00:01:18,720 –> 00:01:19,920
مجموعه
34
00:01:19,920 –> 00:01:22,479
یک حلقه برای تکرار روی
35
00:01:22,479 –> 00:01:23,840
هر عنصر
36
00:01:23,840 –> 00:01:26,880
در مجموعه است و سپس
37
00:01:26,880 –> 00:01:29,840
مقدار را با استفاده از این دستور چاپ چاپ می کنیم، حالا
38
00:01:29,840 –> 00:01:32,640
بیایید در مورد تکرار کننده ها صحبت کنیم،
39
00:01:32,640 –> 00:01:36,159
بنابراین آنچه تکرار کننده تکرار کننده است، یک
40
00:01:36,159 –> 00:01:40,560
شی است که می توان از آن استفاده کرد. برای تکرار بر روی
41
00:01:40,560 –> 00:01:43,360
یک مجموعه اکنون این شی تکرار کننده
42
00:01:43,360 –> 00:01:43,759
43
00:01:43,759 –> 00:01:47,119
دو روش خاص دارد، اول
44
00:01:47,119 –> 00:01:50,159
زیرخط زیرخط زیرخط زیرخط
45
00:01:50,159 –> 00:01:51,040
زیرخط
46
00:01:51,040 –> 00:01:54,399
و دوم زیرخط زیرخط زیرخط بعدی
47
00:01:54,399 –> 00:01:57,439
زیرخط، بنابراین
48
00:01:57,439 –> 00:02:01,040
تکرارکنندگان این دو روش خاص را دارند.
49
00:02:01,040 –> 00:02:03,840
50
00:02:03,840 –> 00:02:05,360
51
00:02:05,360 –> 00:02:08,479
روش
52
00:02:08,479 –> 00:02:09,280
بعدی قرار
53
00:02:09,280 –> 00:02:12,480
است با استفاده از این تکرار کننده مقدار بعدی را به شما بدهد. اکنون
54
00:02:12,480 –> 00:02:14,400
مجموعه هایی مانند لیست ها
55
00:02:14,400 –> 00:02:17,760
یا فرهنگ لغت یا تاپل ها همگی
56
00:02:17,760 –> 00:02:21,200
مجموعه های قابل تکرار هستند، یعنی می توانیم
57
00:02:21,200 –> 00:02:23,599
روی آنها تکرار کنیم و همه این
58
00:02:23,599 –> 00:02:25,040
اشیاء مجموعه
59
00:02:25,040 –> 00:02:28,080
یک متد خاص به نام eater دارند
60
00:02:28,080 –> 00:02:31,519
که برای بدست آوردن تکرار کننده
61
00:02:31,519 –> 00:02:34,080
از این مجموعه ها، بنابراین اجازه
62
00:02:34,080 –> 00:02:36,640
دهید قبل از هر چیز این دو روش را
63
00:02:36,640 –> 00:02:40,800
در یک مجموعه به شما نشان دهم تا whe شما از تابع dir inbuilt استفاده می کنید
64
00:02:40,800 –> 00:02:44,080
و هر مجموعه ای را
65
00:02:44,080 –> 00:02:45,440
به عنوان آرگومان در اینجا می دهید
66
00:02:45,440 –> 00:02:47,599
و وقتی enter را فشار می دهم
67
00:02:47,599 –> 00:02:49,280
لیستی از توابع را در اینجا می بینید
68
00:02:49,280 –> 00:02:53,120
و وقتی کمی به سمت راست اینجا اسکرول می کنم
69
00:02:53,120 –> 00:02:55,959
یک تابع خاص خواهید دید که
70
00:02:55,959 –> 00:02:57,200
iter است
71
00:02:57,200 –> 00:02:59,440
بنابراین همه این مجموعه ها مانند لیست هستند. یا
72
00:02:59,440 –> 00:03:01,120
فرهنگ لغت یا
73
00:03:01,120 –> 00:03:04,879
تاپل این متد iter را دارند و ما می توانیم این روش itr را صدا بزنیم تا شی تکرار شونده را به دست بیاوریم و می توانیم
74
00:03:04,879 –> 00:03:08,879
این روش
75
00:03:08,879 –> 00:03:11,519
76
00:03:11,519 –> 00:03:14,560
زیرخط زیرخط را
77
00:03:14,560 –> 00:03:17,440
با استفاده از روش خاصی به نام iter
78
00:03:17,440 –> 00:03:18,080
بدون
79
00:03:18,080 –> 00:03:21,599
خط جلو و پشت آن صدا بزنیم
80
00:03:21,599 –> 00:03:24,159
پس اجازه دهید فقط نشان دهم. شما چه می گویم،
81
00:03:24,159 –> 00:03:25,440
بنابراین من می خواهم
82
00:03:25,440 –> 00:03:28,159
یک متغیر id را که مخفف
83
00:03:28,159 –> 00:03:29,040
iterator است، اعلام
84
00:03:29,040 –> 00:03:31,519
کنم و سپس از یک
85
00:03:31,519 –> 00:03:32,560
روش خاص به نام
86
00:03:32,560 –> 00:03:36,560
iter بدون خط خطی
87
00:03:36,560 –> 00:03:37,440
88
00:03:37,440 –> 00:03:40,879
استفاده می کنم و از این روش iter برای دریافت تکرار کننده استفاده می شود
89
00:03:40,879 –> 00:03:44,000
تا بتوانم آن را پاس کنم. مجموعه من
90
00:03:44,000 –> 00:03:46,480
در اینجا به عنوان یک آرگومان و این
91
00:03:46,480 –> 00:03:47,040
روش
92
00:03:47,040 –> 00:03:50,720
تکرارکننده قرار است شی تکرار
93
00:03:50,720 –> 00:03:53,040
کننده این مجموعه را که در
94
00:03:53,040 –> 00:03:53,920
مورد آن صحبت میکردم به من بدهد که
95
00:03:53,920 –> 00:03:57,200
زیرخط زیر خط زیر خط زیر خط زیر خط زیر خط خطی است،
96
00:03:57,200 –> 00:03:59,760
بنابراین اجازه دهید فقط برای من ess enter
97
00:03:59,760 –> 00:04:02,799
و حالا ما شی iterator داریم
98
00:04:02,799 –> 00:04:05,200
و از این شی iterator می توانیم برای
99
00:04:05,200 –> 00:04:07,280
فراخوانی تمام مقادیر
100
00:04:07,280 –> 00:04:09,840
موجود در مجموعه استفاده کنیم، پس بیایید یک بار دیگر
101
00:04:09,840 –> 00:04:11,120
102
00:04:11,120 –> 00:04:14,239
مقادیر لیست خود را چاپ کنیم و این دارای
103
00:04:14,239 –> 00:04:17,358
این شش مقدار است و اکنون می توانم از یک
104
00:04:17,358 –> 00:04:18,720
متد خاص به نام استفاده کنم.
105
00:04:18,720 –> 00:04:22,479
در ادامه اینجا برای دریافت اولین مقدار این
106
00:04:22,479 –> 00:04:23,360
مجموعه،
107
00:04:23,360 –> 00:04:26,720
بنابراین من فقط می خواهم i t را
108
00:04:26,720 –> 00:04:29,360
که تکرار کننده ای است که
109
00:04:29,360 –> 00:04:29,919
از
110
00:04:29,919 –> 00:04:33,120
این متد iter گرفته ایم پاس کنم و سپس enter را فشار دهید
111
00:04:33,120 –> 00:04:35,759
و خواهید دید که اکنون اولین مقدار لیست شما را چاپ می کند.
112
00:04:35,759 –> 00:04:36,479
113
00:04:36,479 –> 00:04:39,360
یک بار دیگر وقتی
114
00:04:39,360 –> 00:04:40,240
115
00:04:40,240 –> 00:04:44,160
این متغیر را با استفاده از این متغیر i t فراخوانی
116
00:04:44,160 –> 00:04:47,199
میکنید، مقدار بعدی
117
00:04:47,199 –> 00:04:48,240
لیست را به
118
00:04:48,240 –> 00:04:51,120
شما میدهد و وقتی دوباره و دوباره آن را فراخوانی میکنید،
119
00:04:51,120 –> 00:04:53,440
روی لیست شما تکرار میشود
120
00:04:53,440 –> 00:04:56,639
و مقادیر لیست را
121
00:04:56,639 –> 00:05:00,320
یکی یکی به شما میدهد، پس بیایید تمام مقادیر را دریافت کنید،
122
00:05:00,320 –> 00:05:02,000
بنابراین این دومین مقدار آخر است
123
00:05:02,000 –> 00:05:02,639
که 9 است
124
00:05:02,639 –> 00:05:05,039
و سپس در نهایت آخرین مقدار را که هفت است چاپ می کند
125
00:05:05,039 –> 00:05:07,280
، در این
126
00:05:07,280 –> 00:05:08,880
مرحله تکرار کننده
127
00:05:08,880 –> 00:05:11,919
روی تمام این شش
128
00:05:11,919 –> 00:05:14,320
مقدار تکرار کرده است، پس از آن زمانی که
129
00:05:14,320 –> 00:05:16,800
یک بار دیگر این متد بعدی را فراخوانی می کنید. با توجه به این
130
00:05:16,800 –> 00:05:17,840
متغیر
131
00:05:17,840 –> 00:05:20,320
آن، این استثنا را به شما می دهد
132
00:05:20,320 –> 00:05:21,280
133
00:05:21,280 –> 00:05:24,720
که می گوید تکرار تکرار را متوقف کنید، بنابراین
134
00:05:24,720 –> 00:05:27,680
وقتی تکرار کننده شما تمام شد،
135
00:05:27,680 –> 00:05:28,960
به
136
00:05:28,960 –> 00:05:31,919
شما استثنا می دهد که عبارت است از توقف تکرار
137
00:05:31,919 –> 00:05:32,800
در حال حاضر، همانطور که
138
00:05:32,800 –> 00:05:34,960
گفتم مجموعه هایی مانند فهرست فرهنگ لغت یا
139
00:05:34,960 –> 00:05:35,840
140
00:05:35,840 –> 00:05:39,360
تاپل دارای این شی تکرار شونده هستند که یعنی
141
00:05:39,360 –> 00:05:40,479
ما میتوانیم از
142
00:05:40,479 –> 00:05:43,919
حلقه for برای تکرار روی این
143
00:05:43,919 –> 00:05:47,039
مجموعهها استفاده کنیم، بنابراین حلقه
144
00:05:47,039 –> 00:05:50,320
برای تکرار از مکانیسم تکرارکننده یکسانی برای تکرار بر روی
145
00:05:50,320 –> 00:05:53,199
همه این عناصر مجموعه استفاده میکند، اکنون
146
00:05:53,199 –> 00:05:53,759
چندین
147
00:05:53,759 –> 00:05:55,680
بار در حرفه توسعه برنامهنویسی
148
00:05:55,680 –> 00:05:59,199
خود باید یک کلاس بنویسید
149
00:05:59,199 –> 00:06:02,560
تا دوباره تکرار شود. نوعی
150
00:06:02,560 –> 00:06:03,280
مجموعه،
151
00:06:03,280 –> 00:06:05,039
بنابراین اجازه دهید به شما نشان دهم که چگونه می توانید
152
00:06:05,039 –> 00:06:07,600
کلاس تکرار کننده سفارشی خود را ایجاد کنید،
153
00:06:07,600 –> 00:06:10,880
بنابراین اجازه دهید این کنسول پایتون را
154
00:06:10,880 –> 00:06:14,160
در pycharm ide کوچک کنم و من فقط
155
00:06:14,160 –> 00:06:14,880
156
00:06:14,880 –> 00:06:18,080
این دو روش را نظر خواهم داد تا همانطور که گفتم یک
157
00:06:18,080 –> 00:06:19,120
تکرار کننده
158
00:06:19,120 –> 00:06:22,240
همیشه این دو روش خاص را
159
00:06:22,240 –> 00:06:24,560
داشته باشد. زیرخط زیرخط و
160
00:06:24,560 –> 00:06:26,080
زیرخط زیرخط
161
00:06:26,080 –> 00:06:28,960
و دومی زیرخط زیرخط زیرخط
162
00:06:28,960 –> 00:06:29,840
بعدی است،
163
00:06:29,840 –> 00:06:32,560
بنابراین به منظور
164
00:06:32,560 –> 00:06:33,600
ایجاد خود
165
00:06:33,600 –> 00:06:36,319
کلاس iterator باید
166
00:06:36,319 –> 00:06:36,800
هر دوی
167
00:06:36,800 –> 00:06:39,120
این متدها را پیاده سازی کنید، بنابراین بیایید یک کلاس iterator ایجاد کنیم
168
00:06:39,120 –> 00:06:40,319
169
00:06:40,319 –> 00:06:43,600
و من فقط کلاس خود را به عنوان کلاس iterator لیست نام گذاری می کنم
170
00:06:43,600 –> 00:06:46,319
و در این لیست
171
00:06:46,319 –> 00:06:48,720
iterator کلاس اول از همه
172
00:06:48,720 –> 00:06:51,919
متد uh init
173
00:06:51,919 –> 00:06:54,400
و این init را تعریف می کنم. متد
174
00:06:54,400 –> 00:06:55,440
هر نوع
175
00:06:55,440 –> 00:06:57,599
لیست یا هر نوع مجموعه ای را می گیرد که قابل
176
00:06:57,599 –> 00:06:58,720
تکرار باشد
177
00:06:58,720 –> 00:07:00,639
و سپس در داخل این متد init
178
00:07:00,639 –> 00:07:02,479
من فقط
179
00:07:02,479 –> 00:07:06,319
یک خود را فراخوانی می کنم تا یک متغیر عضو در اینجا ایجاد کند و متغیر عضو خود
180
00:07:06,319 –> 00:07:08,319
را به عنوان نقطه نام گذاری می کنم.
181
00:07:08,319 –> 00:07:09,680
182
00:07:09,680 –> 00:07:13,280
لیست زیر خط زیر خط و
183
00:07:13,280 –> 00:07:13,919
من فقط
184
00:07:13,919 –> 00:07:16,960
مقدار یک را ارسال می کنم، اجازه دهید نام آن را a به عنوان
185
00:07:16,960 –> 00:07:20,639
لیست نیز بگذارم، بنابراین
186
00:07:20,639 –> 00:07:22,560
لیست برابر است با لیست متغیر عضو دومی
187
00:07:22,560 –> 00:07:24,560
که می خواهم در اینجا ایجاد کنم
188
00:07:24,560 –> 00:07:27,759
، متغیر شاخص است، بنابراین دومین متغیر
189
00:07:27,759 –> 00:07:28,96