در این مطلب، ویدئو آموزش مبتدی پایتون 7 – کدهای پاک و استثناها با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,429
سلام به همه، کوین از kjd
2
00:00:02,429 –> 00:00:04,440
electronics است و به
3
00:00:04,440 –> 00:00:06,720
یک ویدیوی برنامه نویسی یک مرحله ای دیگر برای
4
00:00:06,720 –> 00:00:09,929
مبتدیان مطلق در پایتون خوش آمدید، در آخرین ویدیوی ما
5
00:00:09,929 –> 00:00:11,700
به معرفی استثناها
6
00:00:11,700 –> 00:00:13,980
و حلقه ها پرداختیم و در این ویدیو
7
00:00:13,980 –> 00:00:15,420
کمی بیشتر به آن خواهیم پرداخت. استثناها
8
00:00:15,420 –> 00:00:17,460
و نحوه پاک کردن کدمان برای تمیزتر کردن
9
00:00:17,460 –> 00:00:20,580
و نگهداری آن آسان تر، بنابراین من می
10
00:00:20,580 –> 00:00:22,050
خواهم با مرور
11
00:00:22,050 –> 00:00:23,490
چالشی که در پایان آخرین
12
00:00:23,490 –> 00:00:27,320
ویدیو پست می کنم شروع کنم و از شما بچه ها می خواهد
13
00:00:27,320 –> 00:00:29,580
برنامه ماشین حساب ما را در اینجا حلقه کنید.
14
00:00:29,580 –> 00:00:32,009
تا زمانی که کاربر بخواهد محاسبات را ادامه دهد تا زمانی که کاربر بخواهد
15
00:00:32,009 –> 00:00:35,250
به انجام محاسبات ادامه
16
00:00:35,250 –> 00:00:37,440
دهد، من یک حلقه while بیرونی را
17
00:00:37,440 –> 00:00:40,140
بر اساس
18
00:00:40,140 –> 00:00:43,350
متغیر شرط کاربر که
19
00:00:43,350 –> 00:00:45,000
در خط اول تابع اصلی ایجاد کردم، در اینجا یک حلقه while دیگر اضافه
20
00:00:45,000 –> 00:00:47,430
کردم و آن را روی true تنظیم کردم
21
00:00:47,430 –> 00:00:49,110
تا حلقه while ما حداقل یک بار اجرا میشود،
22
00:00:49,110 –> 00:00:52,739
توجه داشته باشید که باید
23
00:00:52,739 –> 00:00:55,469
همه چیز را در اینجا تورفتگی میکردم تا
24
00:00:55,469 –> 00:00:59,280
در حلقه while ما قرار بگیرد، بنابراین همه چیز در
25
00:00:59,280 –> 00:01:01,590
آنجا قرار میگرفت و سپس همه چیز از اینجا به
26
00:01:01,590 –> 00:01:04,140
اینجا را تغییر ندادم t برنامه قدیمی ما
27
00:01:04,140 –> 00:01:08,040
است اکنون من یک نظر اضافه کردم تا از
28
00:01:08,040 –> 00:01:10,500
کاربر بخواهید ادامه دهد ما می دانیم این
29
00:01:10,500 –> 00:01:13,260
کد چه کار می کند من یک متغیر بر
30
00:01:13,260 –> 00:01:16,409
اساس ورودی کاربر ایجاد می کنم yn آیا می خواهید
31
00:01:16,409 –> 00:01:19,500
یک محاسبه دیگر Y را برای yes یا هر
32
00:01:19,500 –> 00:01:21,330
مقدار دیگری اجرا کنید تا اکنون از آن خارج شوید من
33
00:01:21,330 –> 00:01:23,220
گفتم هر خروجی از مقدار دیگر فقط برای
34
00:01:23,220 –> 00:01:25,439
ساده کردن شرایط است. بگذارید
35
00:01:25,439 –> 00:01:28,259
بررسی کنیم تا فقط
36
00:01:28,259 –> 00:01:30,119
پس از بررسی با یک مقدار کوچک Y، آن را بسیار آسانتر کنیم،
37
00:01:30,119 –> 00:01:33,240
شما بچه ها می توانید این کار را به
38
00:01:33,240 –> 00:01:34,710
روش های مختلف انجام دهید و این خوب است،
39
00:01:34,710 –> 00:01:37,500
بنابراین من یک اگر عبارت if user ym
40
00:01:37,500 –> 00:01:39,900
برابر با Y نباشد، بنابراین اگر مقداری
41
00:01:39,900 –> 00:01:42,960
غیر از Y دریافت کنیم، میخواهیم
42
00:01:42,960 –> 00:01:45,329
user را روی false قرار دهیم و سپس من یک
43
00:01:45,329 –> 00:01:47,280
کلمه کلیدی جدید در اینجا دارم، خوب دو کلمه کلیدی جدید
44
00:01:47,280 –> 00:01:50,909
در واقع شکسته میشوند و ادامه میدهند شکستن
45
00:01:50,909 –> 00:01:53,970
ادامه همان چیزی است که نامیده میشود.
46
00:01:53,970 –> 00:01:57,990
کلیدواژههای کنترل حلقه حلقهای را
47
00:01:57,990 –> 00:01:59,939
که در حال حاضر فعال است کنترل میکنند که در این
48
00:01:59,939 –> 00:02:04,409
مورد به این صورت است که شکست حلقه
49
00:02:04,409 –> 00:02:06,210
همان چیزی را که پیشنهاد میکند انجام میدهد و
50
00:02:06,210 –> 00:02:09,209
از حلقه خارج میشود، بنابراین اگر من یک شکست در
51
00:02:09,209 –> 00:02:11,849
این حلقه درست در اینجا داشته باشم در برخی
52
00:02:11,849 –> 00:02:13,650
مواقع مشکل ایجاد میشود. از
53
00:02:13,650 –> 00:02:17,099
این حلقه while خارج میشود و به اینجا میرود و
54
00:02:17,099 –> 00:02:19,590
بر این حلقه while تأثیری نمیگذارد، بنابراین شما
55
00:02:19,590 –> 00:02:21,980
میتوانید هر بار فقط از یک حلقه خارج شوید، به
56
00:02:21,980 –> 00:02:25,590
طور مشابه با ادامه، که
57
00:02:25,590 –> 00:02:29,430
اجرای کد فعلی را متوقف میکند و
58
00:02:29,430 –> 00:02:31,620
حلقه را دوباره راهاندازی میکند، برای مثال اگر من
59
00:02:31,620 –> 00:02:34,590
دقیقاً بالای این یک ادامه میگذارم که
60
00:02:34,590 –> 00:02:36,930
وقتی به آن میرسد،
61
00:02:36,930 –> 00:02:40,560
به خط 24 برمیگردد و دوباره ورودی دریافت میکند، بنابراین
62
00:02:40,560 –> 00:02:44,099
ادامه راهاندازی مجدد حلقه شکستن از
63
00:02:44,099 –> 00:02:46,590
حلقه خارج میشود در اینجا کاملاً زائد
64
00:02:46,590 –> 00:02:48,299
و غیر ضروری است زیرا نیازی به
65
00:02:48,299 –> 00:02:50,489
گفتن نیست. در انتهای حلقه ادامه دهید تا
66
00:02:50,489 –> 00:02:52,379
به عقب برگردید و مجدداً آن را راه اندازی کنید، اما من
67
00:02:52,379 –> 00:02:54,900
می خواستم این کار را در اینجا انجام دهم تا نشان
68
00:02:54,900 –> 00:02:57,180
دهم کلمات کلیدی همان کار را با
69
00:02:57,180 –> 00:02:58,950
break انجام می دهند، شرط را روی false قرار می دهیم
70
00:02:58,950 –> 00:03:01,500
که باعث می شود این حلقه خارج شود و
71
00:03:01,500 –> 00:03:03,989
سپس ما شکسته شویم. از آن که دوباره
72
00:03:03,989 –> 00:03:05,909
کاملاً زائد است، میتوانید یکی از روشها را انتخاب کنید
73
00:03:05,909 –> 00:03:07,889
و
74
00:03:07,889 –> 00:03:09,720
چالش ویدیوی آخر را خلاصه میکند، اجازه دهید
75
00:03:09,720 –> 00:03:11,250
آن را به سرعت اجرا کنیم تا مطمئن شویم همه چیز
76
00:03:11,250 –> 00:03:13,290
کار میکند، ما عملکرد اصلی خود را اجرا خواهیم کرد و
77
00:03:13,290 –> 00:03:17,189
آنچه شماره یک یک w است. بد نیست اضافه کنیم
78
00:03:17,189 –> 00:03:19,049
، دو عدد دریافت می کنیم، یک محاسبه در حال اجرا دیگر را انتخاب می کنیم،
79
00:03:19,049 –> 00:03:24,349
بله و سپس دوباره راه اندازی می شود و
80
00:03:24,349 –> 00:03:27,299
ما چهار عدد کامل را دریافت می کنیم.
81
00:03:27,299 –> 00:03:29,970
82
00:03:29,970 –> 00:03:32,340
83
00:03:32,340 –> 00:03:33,930
84
00:03:33,930 –> 00:03:36,449
چالش میخواهم
85
00:03:36,449 –> 00:03:38,940
یک تغییر جزئی را معرفی کنم که
86
00:03:38,940 –> 00:03:41,699
به من امکان میدهد حلقه for را معرفی
87
00:03:41,699 –> 00:03:44,220
کنم که واقعاً
88
00:03:44,220 –> 00:03:46,590
تا زمانی که ساختارهای داده را در ویدیوی بعدی پوشش دهیم، آنقدر به آن وارد خواهیم شد،
89
00:03:46,590 –> 00:03:49,409
اما میخواستم اکنون آن را معرفی کنم
90
00:03:49,409 –> 00:03:50,400
زیرا فکر میکنم فرصت خوبی است،
91
00:03:50,400 –> 00:03:53,489
پس بیایید بگوییم که کاربر ما
92
00:03:53,489 –> 00:03:56,699
میخواست سه بار حلقه بزند، بنابراین اگر از
93
00:03:56,699 –> 00:03:59,970
چیزهایی که اخیرا اضافه کردهایم خلاص شویم و از شر این کاربر خلاص شویم،
94
00:03:59,970 –> 00:04:03,620
ادامه دهیم، بنابراین اکنون این
95
00:04:03,620 –> 00:04:05,879
تورفتگی را داریم و این حلقه while را در
96
00:04:05,879 –> 00:04:07,169
اینجا داریم که به متغیر مرجع اشاره نمیکند،
97
00:04:07,169 –> 00:04:10,739
اما اجازه دهید تغییر دهیم. آن را در یک
98
00:04:10,739 –> 00:04:18,289
حلقه for تایپ کنم برای I در محدوده کلمه کلیدی
99
00:04:18,289 –> 00:04:22,680
3، اگر املای دامنه را درست در محدوده سه بنویسم کمک خواهم کرد
100
00:04:22,680 –> 00:04:25,070
101
00:04:25,070 –> 00:04:28,940
و سپس برنامه ما
102
00:04:28,940 –> 00:04:30,700
را دارم بچه ها فکر می کنید که یک
103
00:04:30,700 –> 00:04:33,050
حلقه چهار انجام می شود. نوع دیگری از لواشک p
104
00:04:33,050 –> 00:04:37,670
و range تابعی است که می توانیم
105
00:04:37,670 –> 00:04:41,000
با حلقه for استفاده کنیم تا بگوییم این تعداد بار اجرا شود،
106
00:04:41,000 –> 00:04:43,790
بنابراین اساساً این اجازه می دهد تا
107
00:04:43,790 –> 00:04:46,190
حلقه برای مشت در این
108
00:04:46,190 –> 00:04:49,640
محدوده صفر و یک و دو تکرار شود که این همان چیزی است که
109
00:04:49,640 –> 00:04:53,570
باعث ایجاد محدوده ای از این می شود. اگر این را اجرا کنیم،
110
00:04:53,570 –> 00:04:57,140
فقط برای همه چیز یک را وارد
111
00:04:57,140 –> 00:05:01,190
میکنم و متوجه میشویم که سه
112
00:05:01,190 –> 00:05:04,190
بار اجرا شده است، بنابراین حلقه for اساساً به شما اجازه میدهد
113
00:05:04,190 –> 00:05:07,130
تا یک عدد X را بارها حلقه کنید
114
00:05:07,130 –> 00:05:08,870
بهجای اینکه شرط برابر با چیزی باشد
115
00:05:08,870 –> 00:05:12,410
که حلقههای for حلقه X عدد است. چند بار و
116
00:05:12,410 –> 00:05:16,220
شما همچنین این مقدار شاخص مفید را دریافت می کنید،
117
00:05:16,220 –> 00:05:19,760
بنابراین من فقط یک نام وحشتناک هستم
118
00:05:19,760 –> 00:05:21,560
که از آن برنامه استفاده می شود زیرا ما خیلی تنبل هستیم که
119
00:05:21,560 –> 00:05:24,020
نمایه کامل کلمه را تایپ کنیم، اما
120
00:05:24,020 –> 00:05:26,450
من فقط به یک نمایه ارجاع
121
00:05:26,450 –> 00:05:28,310
می دهم زیرا معمولاً از حلقه به حلقه
122
00:05:28,310 –> 00:05:31,190
بر روی یک ساختار داده که در آن شما یک
123
00:05:31,190 –> 00:05:33,560
شاخص برای آن داده دارید، اما دوباره می
124
00:05:33,560 –> 00:05:35,270
خواهم بیش از حد به این موضوع بپردازم، فقط می خواهم
125
00:05:35,270 –> 00:05:38,030
معرفی کنم که این وجود دارد و در ویدیوی
126
00:05:38,030 –> 00:05:40,400
بعدی بیشتر به حلقه for و نحوه استفاده از آن خواهیم پرداخت.
127
00:05:40,400 –> 00:05:42,290
وقتی در
128
00:05:42,290 –> 00:05:44,180
مورد ساختارهای داده صحبت می کنیم خوب است بنابراین من
129
00:05:44,180 –> 00:05:45,350
در واقع میخواهم به نسخهای
130
00:05:45,350 –> 00:05:49,960
از برنامه برگردم، جایی که ما فقط یک بار آن را اجرا میکنیم،
131
00:05:49,960 –> 00:05:51,520
132
00:05:51,520 –> 00:05:53,960
بنابراین از حلقه خود خلاص میشوم
133
00:05:53,960 –> 00:05:56,090
و چیزهای مرده را به عملکرد اصلی برمیگردانم،
134
00:05:56,090 –> 00:05:58,100
بنابراین این نسخه اصلی
135
00:05:58,100 –> 00:06:00,140
برنامه است. قبل از انجام این
136
00:06:00,140 –> 00:06:02,630
چالش، ما با
137
00:06:02,630 –> 00:06:04,430
ماشین حساب خود در این ویدیو تمام می کنیم، اما من می
138
00:06:04,430 –> 00:06:06,080
خواستم کمی بیشتر در مورد استثناها
139
00:06:06,080 –> 00:06:08,180
و اینکه چگونه برنامه خود را
140
00:06:08,180 –> 00:06:09,980
قبل از اتمام آن کمی تمیزتر
141
00:06:09,980 –> 00:06:12,230
کنیم اگر به این نگاه کنیم، توضیح دهم متوجه خواهیم شد که این
142
00:06:12,230 –> 00:06:14,690
به جز در تلاش ما بجز بلوک
143
00:06:14,690 –> 00:06:18,860
زیر خط کشیده شده است و pycharm به ما دو
144
00:06:18,860 –> 00:06:20,710
بند استثنای گسترده را می گوید که
145
00:06:20,710 –> 00:06:26,870
اکنون استثناها انواع خاصی دارند، بنابراین
146
00:06:26,870 –> 00:06:30,380
واقعاً آنچه ما می خواهیم اکنون خطای مقدار است
147
00:06:30,380 –> 00:06:32,420
اگر در کنسول از آخرین ویدیو به خاطر بیاورید.
148
00:06:32,420 –> 00:06:34,820
خطای مقدار
149
00:06:34,820 –> 00:06:35,950
150
00:06:35,950 –> 00:06:38,650
خطا را ببینید متن نوع خطای مقدار را در
151
00:06:38,650 –> 00:06:40,840
کنسول قبل از اینکه ما امتحان کنیم به جز
152
00:06:40,840 –> 00:06:42,970
بلوک، بنابراین آنچه که می گوید این است که
153
00:06:42,970 –> 00:06:46,150
154
00:06:46,150 –> 00:06:49,980
اگر مشکل دیگری رخ دهد فقط خطای مقدار استثنا را می گیرد،
155
00:06:49,980 –> 00:06:53,530
این بلوک پذیرش اکنون آن را نمی گیرد
156
00:06:53,530 –> 00:06:56,260
. دلیل این که برنامه نویسی خوب و
157
00:06:56,260 –> 00:06:59,500
کد تمیز است این است که نمی خواهید
158
00:06:59,500 –> 00:07:01,840
استثنایی برای ورودی نامعتبر چاپ کنید، وقتی
159
00:07:01,840 –> 00:07:04,390
مطمئن نیستید که نامعتبر است اما
160
00:07:04,390 –> 00:07:06,340
ممکن است یک مشکل تصادفی دیگر باشد
161
00:07:06,340 –> 00:07:08,470
که زندگی شما را
162
00:07:08,470 –> 00:07:09,520
سخت تر می کند زیرا شما “مثلاً
163
00:07:09,520 –> 00:07:11,230
ورودیها معتبر هستند و شما میروید و ما
164
00:07:11,230 –> 00:07:12,970
10 بار ورودی میدهیم که
165
00:07:12,970 –> 00:07:15,280
موهایتان را بیرون بیاورید، زیرا قسم میخورید
166
00:07:15,280 –> 00:07:16,960
که ورودی معتبر است و سپس
167
00:07:16,960 –> 00:07:19,210
در اشکالزدایی اطلاعات بیشتری دریافت خواهید کرد.
168
00:07:19,210 –> 00:07:20,290
دریابید که در واقع چیزی
169
00:07:20,290 –> 00:07:23,110
کاملاً نامرتبط است، به همین دلیل است که ما
170
00:07:23,110 –> 00:07:25,930
سعی می کنیم تا آنجا که ممکن است این موارد را پیدا کنیم،
171
00:07:25,930 –> 00:07:28,240
می توانید در واقع یک مورد
172
00:07:28,240 –> 00:07:33,850
دیگر را در اینجا داشته باشید که استثنای ناشناخته را بگیرد،
173
00:07:33,850 –> 00:07:37,200
می توانید بگویید اکنون خطاهای ناشناخته را چاپ کنید
174
00:07:37,200 –> 00:07:40,570
که حداقل به شما می
175
00:07:40,570 –> 00:07:43,330
گوید چیز عجیبی است. اتفاق افتاده است و اگر
176
00:07:43,330 –> 00:07:45,280
زیاد اتفاق بیفتد، میتوانید
177
00:07:45,280 –> 00:07:47,170
هر نوع استثنایی را اضافه کنید و
178
00:07:47,170 –> 00:07:50,080
هر خطایی را که میخواهید برای
179
00:07:50,080 –> 00:07:53,350
کاربر چاپ کنید، اکنون این یک برنامه ماشین حساب
180
00:07:53,350 –> 00:07:56,470
است، یک مکان دیگر در این
181
00:07:56,470 –> 00:07:58,630
برنامه وجود دارد که میتواند یک استثنا و
182
00:07:58,630 –> 00:08:00,040
من به شما فرصتی می دهم که حدس بزنید
183
00:08:00,040 –> 00:08:02,200
قبل از اینکه به شما نشان دهم، پس اگر می
184
00:08:02,200 –> 00:08:03,550
خواهید در مورد آن فکر کنید، آن را مکث کنید و به آن نگاه
185
00:08:03,550 –> 00:08:05,110
کنید و سعی کنید مکان دیگری را برای پرتاب کردن
186
00:08:05,110 –> 00:08:08,290
به عنوان استثنا پیدا کنید، بسیار خوب، ما یک
187
00:08:08,290 –> 00:08:11,680
تابع تقسیم داریم که برمی گرداند num1
188
00:08:11,680 –> 00:08:14,740
تقسیم بر num2 چه اتفاقی می افتد اگر
189
00:08:14,740 –> 00:08:18,070
ما 0 را برای m2 قرار دهیم، معلوم می شود که
190
00:08:18,070 –> 00:08:21,490
یک استثنا تقسیم بر 0 دریافت می کنیم، بنابراین بیایید
191
00:08:21,490 –> 00:08:23,470
این را به خوبی در تابع تقسیم خود مدیریت کنیم،
192
00:08:23,470 –> 00:08:27,930
اجازه دهید یک try به جز بلوک اضافه کنیم
193
00:08:27,930 –> 00:08:31,990
و فقط می توانیم سعی کنیم num1
194
00:08:31,990 –> 00:08:34,390
تقسیم شده را برگردانیم. توسط num2 که دقیقاً
195
00:08:34,390 –> 00:08:38,770
میخواهیم انجام دهیم و سپس به جز و اگر شروع به
196
00:08:38,770 –> 00:08:41,320
تایپ کنیم تقسیم بر 0 میبینیم که
197
00:08:41,320 –> 00:08:44,620
خطای تقسیم 0 دریافت میکنیم که به طور
198
00:08:44,620 –> 00:08:48,400
خودکار برای ما در کولون تک