در این مطلب، ویدئو داغترین ویژگی جدید در پایتون 3.10 – تطبیق الگوی ساختاری / بیانیه مطابقت با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:16:14
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,160 –> 00:00:02,320
سلام و خوش آمدید من جیمز مورفی هستم از
2
00:00:02,320 –> 00:00:03,120
برنامه نویسی m
3
00:00:03,120 –> 00:00:06,000
و امروز در مورد
4
00:00:06,000 –> 00:00:06,480
5
00:00:06,480 –> 00:00:09,440
مهمترین ویژگی به زودی در پایتون
6
00:00:09,440 –> 00:00:10,639
7
00:00:10,639 –> 00:00:12,880
8
00:00:12,880 –> 00:00:14,320
9
00:00:14,320 –> 00:00:16,079
3.10 صحبت می کنیم
10
00:00:16,079 –> 00:00:18,160
. 3.10 ممکن است
11
00:00:18,160 –> 00:00:19,039
قبلاً منتشر شده باشد،
12
00:00:19,039 –> 00:00:21,119
اما در زمان ضبط که
13
00:00:21,119 –> 00:00:22,160
17 مارس
14
00:00:22,160 –> 00:00:26,640
2021 است، پایتون 3.9 آخرین نسخه است
15
00:00:26,640 –> 00:00:29,840
که من به تازگی دیدم که pep634 در
16
00:00:29,840 –> 00:00:31,920
مورد تطبیق الگوی ساختاری پذیرفته شده است، بنابراین
17
00:00:31,920 –> 00:00:32,558
18
00:00:32,558 –> 00:00:34,800
مجبور شدم کپی خودم از آخرین
19
00:00:34,800 –> 00:00:36,160
شاخه پایتون
20
00:00:36,160 –> 00:00:38,879
آن را کامپایل کنم و سعی کنید آن را برای خودم اجرا کنم،
21
00:00:38,879 –> 00:00:40,640
همانطور که می توانید اینجا را در کنسول پایتون
22
00:00:40,640 –> 00:00:41,360
23
00:00:41,360 –> 00:00:45,840
من مشاهده کنید. من یک نسخه از پایتون 3.10 را اجرا
24
00:00:45,840 –> 00:00:48,000
می کنم، می توانید در اینجا
25
00:00:48,000 –> 00:00:49,120
هش
26
00:00:49,120 –> 00:00:51,039
دقیق git commit commit را ببینید که من از آن استفاده می کنم، بنابراین
27
00:00:51,039 –> 00:00:52,320
نمی توانستم صبر کنم تا این را بررسی کنم.
28
00:00:52,320 –> 00:00:54,000
ویژگی جدید من مجبور شدم خودم آن را کامپایل کنم
29
00:00:54,000 –> 00:00:55,360
و فکر کردم یک ویدیو در مورد آن بسازم،
30
00:00:55,360 –> 00:00:56,559
بنابراین در اینجا
31
00:00:56,559 –> 00:00:59,120
اساساً در نسخه های قبلی پایتون است که ما
32
00:00:59,120 –> 00:01:01,440
قبلاً نسخه های بسیار ابتدایی
33
00:01:01,440 –> 00:01:04,319
تطبیق الگو را داشتیم، بنابراین اگر
34
00:01:04,319 –> 00:01:06,240
من برای مثال
35
00:01:06,240 –> 00:01:09,520
x c داشته باشم omma y می توانم بگویم x ویرگول y برابر
36
00:01:09,520 –> 00:01:11,119
با یک کاما دو است
37
00:01:11,119 –> 00:01:13,680
حالا این به چه معناست خوب پایتون به
38
00:01:13,680 –> 00:01:15,200
اندازه کافی هوشمند است که بفهمد
39
00:01:15,200 –> 00:01:17,759
خوب این یک دنباله به طول 2 است و به
40
00:01:17,759 –> 00:01:19,840
نظر می رسد دنباله ای به طول 2 است،
41
00:01:19,840 –> 00:01:22,159
بنابراین می تواند تعیین کند. x به 1 و y
42
00:01:22,159 –> 00:01:22,880
به 2.
43
00:01:22,880 –> 00:01:24,560
این نحو جدید از طریق
44
00:01:24,560 –> 00:01:27,040
عبارت تطبیق آن را به سطح کاملاً جدیدی می برد،
45
00:01:27,040 –> 00:01:29,439
بیایید به چند نمونه نگاهی بیندازیم تا
46
00:01:29,439 –> 00:01:30,799
در تمام طول این ویدیو
47
00:01:30,799 –> 00:01:33,439
بتوانید به سمت چپ خود نگاه کنید تا نحو جدید را ببینید
48
00:01:33,439 –> 00:01:34,320
49
00:01:34,320 –> 00:01:36,320
و در سمت راست چگونه شما باید آن را
50
00:01:36,320 –> 00:01:38,079
بنویسید یا ساده ترین
51
00:01:38,079 –> 00:01:39,840
راه برای نوشتن آن
52
00:01:39,840 –> 00:01:41,840
بدون استفاده از عبارت match چیست، بنابراین
53
00:01:41,840 –> 00:01:43,439
البته پایتون به زبان کامل تعیین شده
54
00:01:43,439 –> 00:01:44,159
است
55
00:01:44,159 –> 00:01:46,479
، دستور match واقعا چیز جدیدی اضافه
56
00:01:46,479 –> 00:01:47,680
نمی
57
00:01:47,680 –> 00:01:49,520
کند از نظر اینکه چه برنامه هایی را می توان
58
00:01:49,520 –> 00:01:51,360
نوشت چه چیزی اضافه می کند.
59
00:01:51,360 –> 00:01:54,240
روش جدیدی برای فکر کردن در مورد برنامه ها است، بنابراین در
60
00:01:54,240 –> 00:01:55,759
سمت چپ دستور جدید مطابقت
61
00:01:55,759 –> 00:01:58,240
و در سمت راست به
62
00:01:58,240 –> 00:02:00,320
روش قدیمی انجام آن ابتدا تا بالا ما
63
00:02:00,320 –> 00:02:02,000
این تابع دستور تقسیم را داریم
64
00:02:02,000 –> 00:02:03,840
که دستوری را می گیرد که اجازه دهید
65
00:02:03,840 –> 00:02:05,119
یک رشته می
66
00:02:05,119 –> 00:02:07,119
گوییم یک تقسیم دستور را انجام دهید و
67
00:02:07,119 –> 00:02:09,038
این رشته را به لیستی از
68
00:02:09,038 –> 00:02:09,840
رشته ها تقسیم می کند
69
00:02:09,840 –> 00:02:12,000
و سپس ما می خواهیم کارهای مختلفی را
70
00:02:12,000 –> 00:02:13,760
بر اساس آن چیزها انجام دهیم تا
71
00:02:13,760 –> 00:02:14,879
بتوانید
72
00:02:14,879 –> 00:02:16,080
تصور کنید که اگر می خواهید
73
00:02:16,080 –> 00:02:17,920
پوسته ای را فقط برای نمایش بنویسید مفید خواهد بود.
74
00:02:17,920 –> 00:02:19,599
هدف من چند دستور مختلف
75
00:02:19,599 –> 00:02:21,440
در اینجا دارم،
76
00:02:21,440 –> 00:02:24,480
بنابراین می توانید ببینید که ما قصد داریم
77
00:02:24,480 –> 00:02:25,120
78
00:02:25,120 –> 00:02:27,440
این دستور نقطه تقسیم را به
79
00:02:27,440 –> 00:02:29,599
چه شکلی مطابقت دهیم و سپس نحو این است که شما یک تطبیق دارید
80
00:02:29,599 –> 00:02:31,360
و سپس چیزی که می خواهید
81
00:02:31,360 –> 00:02:33,760
مطابقت دهید و سپس یک دسته از موارد
82
00:02:33,760 –> 00:02:35,920
که می تواند شبیه به این باشد که روشی که
83
00:02:35,920 –> 00:02:38,959
کار می کند این است که پایتون این را محاسبه می کند
84
00:02:38,959 –> 00:02:41,840
و سپس هر مورد را یکی پس از دیگری امتحان می کند
85
00:02:41,840 –> 00:02:43,840
تا زمانی که مطابقت پیدا کند،
86
00:02:43,840 –> 00:02:46,000
اگر مطابقت پیدا نکند، به نوعی
87
00:02:46,000 –> 00:02:47,840
مانند یک if false است که در آن جا نمی خواهد.
88
00:02:47,840 –> 00:02:50,959
هر چیزی را در بدنه اجرا کنید،
89
00:02:50,959 –> 00:02:54,560
این شبیه به دستور سوئیچ است،
90
00:02:54,560 –> 00:02:57,040
اما در استروئیدها، بنابراین می توانید ببینید که در
91
00:02:57,040 –> 00:02:58,879
سمت چپ ما سبک بیانی بسیار بیشتری
92
00:02:58,879 –> 00:03:00,159
نسبت به چاه سمت راست داریم،
93
00:03:00,159 –> 00:03:02,239
ابتدا کد سمت راست
94
00:03:02,239 –> 00:03:04,080
وحشتناک است، منظورم این است که
95
00:03:04,080 –> 00:03:06,080
آیا کسی می تواند به آن نگاه کند. این و فقط بخوانید
96
00:03:06,080 –> 00:03:07,440
چه
97
00:03:07,440 –> 00:03:08,800
احتمالاً لازم
98
00:03:08,800 –> 00:03:10,560
نیست تک تک آنها را مرور کنید و بررسی
99
00:03:10,560 –> 00:03:12,560
کنید که طول دو و
100
00:03:12,560 –> 00:03:14,560
یک اول صفر است، شما باید واقعاً تمام سطرها را بخوانید
101
00:03:14,560 –> 00:03:15,519
102
00:03:15,519 –> 00:03:17,120
در حالی که در سمت چپ این یک سبک بسیار واضح تر
103
00:03:17,120 –> 00:03:19,519
است که در آن فقط می گویید
104
00:03:19,519 –> 00:03:22,000
این همان چیزی است. به نظر می رسد مطابقت دارد،
105
00:03:22,000 –> 00:03:23,760
بنابراین اجازه دهید به آرامی چند
106
00:03:23,760 –> 00:03:25,280
مورد مختلف را مرور کنیم و سپس به
107
00:03:25,280 –> 00:03:27,040
نوعی ایده نحوه عملکرد عبارت تطبیق را خواهید داشت،
108
00:03:27,040 –> 00:03:28,159
109
00:03:28,159 –> 00:03:31,280
بنابراین در اولین مورد، ما
110
00:03:31,280 –> 00:03:34,319
لیستی را با یک عنصر تطبیق می دهیم که تنها چیزی که
111
00:03:34,319 –> 00:03:35,840
در آن وجود دارد این کلمه ساختن است
112
00:03:35,840 –> 00:03:38,000
که کاملاً خود توضیحی است، اکنون از
113
00:03:38,000 –> 00:03:39,519
نظر فنی، وقتی شما مسابقه ای
114
00:03:39,519 –> 00:03:40,239
شبیه به این
115
00:03:40,239 –> 00:03:41,760
را انجام می دهید، لازم نیست فهرستی باشد که
116
00:03:41,760 –> 00:03:43,360
با آن مطابقت می دهید، می تواند هر نوع دنباله ای
117
00:03:43,360 –> 00:03:45,200
باشد، بنابراین اگر من در یک تاپل رد می شدم،
118
00:03:45,200 –> 00:03:47,519
آن را انجام می دهید. در مورد دوم هنوز یک لیست مطابقت دارد،
119
00:03:47,519 –> 00:03:48,239
120
00:03:48,239 –> 00:03:50,319
ما می گوییم دنباله ای از دو
121
00:03:50,319 –> 00:03:52,159
عنصر داریم که اولی make است
122
00:03:52,159 –> 00:03:53,840
و سپس فقط نام یک
123
00:03:53,840 –> 00:03:56,239
متغیر را در اینجا قرار می دهیم، مشابه روشی که
124
00:03:56,239 –> 00:03:57,120
حلقه for کار می کند که
125
00:03:57,120 –> 00:03:59,519
این cmd ندارد. از قبل
126
00:03:59,519 –> 00:04:00,720
تعریف شده است
127
00:04:00,720 –> 00:04:04,000
این یک است نام و ما
128
00:04:04,000 –> 00:04:05,920
هر مقداری را که در دنباله
129
00:04:05,920 –> 00:04:08,080
آن نقطه است به این نام متصل می کنیم،
130
00:04:08,080 –> 00:04:10,400
اکنون اگر مستندات را بخوانید،
131
00:04:10,400 –> 00:04:12,400
بسیار مراقب باشید که همیشه از کلمه
132
00:04:12,400 –> 00:04:15,280
bind به جای علامتی استفاده کنید که ممکن است
133
00:04:15,280 –> 00:04:16,639
بدانید که به صورت عامیانه فکر می کنید
134
00:04:16,639 –> 00:04:18,238
ما به آن خواهیم پرداخت. مقدار را در اینجا
135
00:04:18,238 –> 00:04:20,639
به متغیر cmd اختصاص دهید، اما به دلایل فنی
136
00:04:20,639 –> 00:04:21,358
137
00:04:21,358 –> 00:04:23,840
، در واقع مورد بعدی را تخصیص نمیدهد
138
00:04:23,840 –> 00:04:25,199
، فقط یک
139
00:04:25,199 –> 00:04:26,960
عنصر منفرد دیگر راهاندازی مجدد است، ما قبلاً در
140
00:04:26,960 –> 00:04:28,400
مورد آن صحبت کردهایم،
141
00:04:28,400 –> 00:04:31,520
این مورد بعدی کلمه
142
00:04:31,520 –> 00:04:34,639
rm remove است که با هر
143
00:04:34,639 –> 00:04:37,280
تعداد آرگومان اضافی همراه است. شبیه به
144
00:04:37,280 –> 00:04:38,479
یک موقعیت آرگ ستاره
145
00:04:38,479 –> 00:04:40,560
در اینجا است که در اینجا میتواند صفر
146
00:04:40,560 –> 00:04:42,000
یا چند چیز وجود داشته باشد
147
00:04:42,000 –> 00:04:45,199
و این متغیر فایل
148
00:04:45,199 –> 00:04:48,400
یک تاپلی خواهد بود که شامل همه آن
149
00:04:48,400 –> 00:04:51,680
چیزهای اضافی میشود، بنابراین میتوانید در
150
00:04:51,680 –> 00:04:53,759
سمت راست ببینید که واقعاً چه
151
00:04:53,759 –> 00:04:56,080
کاری انجام میدهد. اگر
152
00:04:56,080 –> 00:04:57,840
طول درست باشد اگر rm را ببیند
153
00:04:57,840 –> 00:05:00,639
و سپس تخصیص دهد یا از نظر فنی
154
00:05:00,639 –> 00:05:02,080
تخصیص نیابد، اما من می روم و
155
00:05:02,080 –> 00:05:03,759
از آن کلمه استفاده می
156
00:05:03,759 –> 00:05:06,240
کنم، فایل ها را به
157
00:05:06,240 –> 00:05:07,199
هر چیزی که باقی مانده است اختصاص می دهد
158
00:05:07,199 –> 00:05:10,240
و سپس نهایی y این زیرخط
159
00:05:10,240 –> 00:05:13,600
روش پایتون برای گفتن یک علامت عام هر چیزی است،
160
00:05:13,600 –> 00:05:15,840
161
00:05:15,840 –> 00:05:16,880
162
00:05:16,880 –> 00:05:18,479
بنابراین در مقایسه با دستور سوئیچ،
163
00:05:18,479 –> 00:05:19,919
این حالت شبیه
164
00:05:19,919 –> 00:05:22,240
حالت پیشفرض شما است اگر هیچ چیز دیگری مطابقت نداشته باشد،
165
00:05:22,240 –> 00:05:25,199
این مورد اکنون اجرا میشود
166
00:05:25,199 –> 00:05:27,360
. در اینجا این حالت عام وجود ندارد
167
00:05:27,360 –> 00:05:28,800
و من از چیزی عبور کردم که
168
00:05:28,800 –> 00:05:30,479
با هیچ یک از چیزهای دیگر مطابقت ندارد،
169
00:05:30,479 –> 00:05:31,919
170
00:05:31,919 –> 00:05:33,840
اگر مطابقت نداشته باشد چیزی چاپ نمی شود، اجرا نمی شود
171
00:05:33,840 –> 00:05:35,840
و می توانید در سمت راست ببینید که
172
00:05:35,840 –> 00:05:38,400
چگونه این مقایسه می شود. وایلد کارت بسیار
173
00:05:38,400 –> 00:05:39,440
شبیه به کار دیگری است،
174
00:05:39,440 –> 00:05:42,400
پس بیایید پیش برویم و فقط چند
175
00:05:42,400 –> 00:05:45,440
مورد تست قرار دهیم تا ببینیم چه کار میکنند
176
00:05:45,440 –> 00:05:47,039
و شما میدانید که آن را اجرا کنید تا ثابت کنید من
177
00:05:47,039 –> 00:05:49,759
در واقع پایتون را کامپایل کردهام،
178
00:05:49,759 –> 00:05:52,800
بنابراین میتوانید فرمان تقسیم را ببینید make we
179
00:05:52,800 –> 00:05:55,600
make a make یک restart پاک کنید abc را پاک کنید
180
00:05:55,600 –> 00:05:57,520
و سپس چیزی که مطابقت ندارد
181
00:05:57,520 –> 00:06:00,639
و می توانید ببینید که ما یک make make clean
182
00:06:00,639 –> 00:06:05,039
انجام می دهیم بنابراین می گوییم دستور find clean
183
00:06:05,039 –> 00:06:07,440
و سپس یک restart و سپس حذف
184
00:06:07,440 –> 00:06:08,800
فایل های
185
00:06:08,800 –> 00:06:12,560
abc و بنابراین می بینید که فایل ها به عنوان یک لیست به اینجا منتقل شده اند.
186
00:06:12,560 –> 00:06:16,720
و سپس عام
187
00:06:16,720 –> 00:06:17,840
بیانیه بسیار
188
00:06:17,840 –> 00:06:19,919
خوب، بیایید به مثال بعدی
189
00:06:19,919 –> 00:06:22,000
برویم، بنابراین در مثال آخر، ما در حال تطبیق
190
00:06:22,000 –> 00:06:22,800
بر روی یک
191
00:06:22,800 –> 00:06:24,400
تقسیم نقطه دستور بودیم، من فقط میخواستم این را در
192
00:06:24,400 –> 00:06:26,319
آن قرار دهم تا بتوانید ببینید که در واقع میتوانید
193
00:06:26,319 –> 00:06:28,880
روی خود متغیری مطابقت داشته
194
00:06:28,880 –> 00:06:30,160
باشید و نیازی به تطبیق ندارید. برخی
195
00:06:30,160 –> 00:06:32,160
از عبارت های فرعی، بنابراین این فقط یک
196
00:06:32,160 –> 00:06:33,440
مثال ساده تر است،
197
00:06:33,440 –> 00:06:36,479
من می توانم یک متغیر را با
198
00:06:36,479 –> 00:06:39,919
مقادیر خاص تطبیق دهم، بنابراین در این مورد
199
00:06:39,919 –> 00:06:42,160
، با
200
00:06:42,160 –> 00:06:45,919
استفاده از عملگر مساوی برابر بودن آنها را بررسی می کند،
201
00:06:45,919 –> 00:06:48,080
مگر اینکه البته از true false استفاده کنید.
202
00:06:48,080 –> 00:06:49,599
یا هیچ کدام، در این صورت
203
00:06:49,599 –> 00:06:51,599
با عملگر is مقایسه می شوند،
204
00:06:51,599 –> 00:06:53,280
بنابراین در این مورد فکر می کنم در واقع
205
00:06:53,280 –> 00:06:55,520
نحو قدیمی را ترجیح می دهم
206
00:06:55,520 –> 00:06:57,599
و البته اگر در اینجا یک مقدار استفاده کوچک اضافه
207
00:06:57,599 –> 00:06:59,199
کنیم، می بینیم
208
00:06:59,199 –> 00:07:03,840
که با 42 مطابقت دارد. بسیار
209
00:07:03,840 –> 00:07:06,319
خوب. بیایید در این مثال ادامه دهیم، می
210
00:07:06,319 –> 00:07:08,479
بینیم که شما می توانید از اپراتور لوله
211
00:07:08,479 –> 00:07:11,280
برای ارائه گزینه های جایگزین برای یک مورد استفاده کنید،
212
00:07:11,280 –> 00:07:13,840
بنابراین در این مورد من یک دستور را دریافت
213
00:07:13,840 –> 00:07:14,800
می کنم و می توانم بگویم
214
00:07:14,800 –> 00:07:17,680
شمال یا به شمال و هر دوی اینها
215
00:07:17,680 –> 00:07:19,120
تأثیر یکسانی برای
216
00:07:19,120 –> 00:07:20,960
شما خواهند داشت. حتی می توانید آن را انجام دهید زمانی که شما یک الزام آور هستید
217
00:07:20,960 –> 00:07:22,960
متغیر حتی اگر موقعیت
218
00:07:22,960 –> 00:07:23,919
219
00:07:23,919 –> 00:07:26,160
متغیر از حالتی به حالت دیگر متفاوت باشد، بنابراین شما
220
00:07:26,160 –> 00:07:27,919
می توانید در این مورد ببینید من می توانم بگویم
221
00:07:27,919 –> 00:07:30,240
دریافت شی یا برداشتن شی یا
222
00:07:30,240 –> 00:07:31,120
برداشتن شیء
223
00:07:31,120 –> 00:07:33,360
و همه آنها مطابقت خواهند داشت
224
00:07:33,360 –> 00:07:35,360
اگر بخواهم این نحو ساده است. دقیقاً همین کار را انجام دهید،
225
00:07:35,360 –> 00:07:37,039
226
00:07:37,039 –> 00:07:39,680
این همان چیزی است که در پایتون 3.9 به نظر می رسد،
227
00:07:39,680 –> 00:07:40,319
228
00:07:40,319 –> 00:07:43,520
در این طرف بسیار پیچیده
229
00:07:43,520 –> 00:07:45,599
تر است و خواندن آن در سمت راست بسیار راحت تر است
230
00:07:45,599 –> 00:07:47,759
و در سمت راست ما کد
231
00:07:47,759 –> 00:07:48,720
تکراری داریم
232
00:07:48,720 –> 00:07:50,639
که به معنای شانس خطا است،
233
00:07:50,639 –> 00:07:52,160
به خصوص اگر چیزی در آن تغییر کند.
234
00:07:52,160 –> 00:07:53,039
آینده،
235
00:07:53,039 –> 00:07:55,919
بنابراین می توانید ببینید که اگر این دو مورد استفاده را اضافه کنم،
236
00:07:55,919 –> 00:07:56,879
پس
237
00:07:56,879 –> 00:07:59,280
هر دوی این موارد به روش مورد انتظار مطابقت دارند،
238
00:07:59,280 –> 00:08:01,919
بنابراین گفتم به شمال بروید و شمشیر
239
00:08:01,919 –> 00:08:04,319
را بردارید، این مثال کوتاه و شیرین است اما
240
00:08:04,319 –> 00:08:06,160
واقعاً ویژگی مهم
241
00:08:06,160 –> 00:08:08,000
ت