در این مطلب، ویدئو آموزش پایتون برای مبتدیان 36 – مدیریت استثناء پایتون + Python Try Except با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,060 –> 00:00:02,250
سلام بچه ها به ویدیوی بعدی در
2
00:00:02,250 –> 00:00:04,500
آموزش پایتون برای مبتدیان خوش آمدید در این
3
00:00:04,500 –> 00:00:07,290
ویدیو یاد می گیریم که چگونه از
4
00:00:07,290 –> 00:00:10,679
مدیریت استثنا در پایتون استفاده کنیم، بنابراین اول از همه
5
00:00:10,679 –> 00:00:14,280
استثناها چیست، بنابراین استثنا
6
00:00:14,280 –> 00:00:17,609
رویدادی است که در حین اجرای یک برنامه رخ می دهد
7
00:00:17,609 –> 00:00:18,930
8
00:00:18,930 –> 00:00:22,650
که در حالت عادی اختلال ایجاد می کند. جریان
9
00:00:22,650 –> 00:00:23,130
برنامه،
10
00:00:23,130 –> 00:00:28,349
بنابراین اساسا استثنا یک
11
00:00:28,349 –> 00:00:33,000
رویداد غیرمنتظره است که جریان عادی برنامه را مختل می کند،
12
00:00:33,000 –> 00:00:35,850
بنابراین اجازه دهید چند
13
00:00:35,850 –> 00:00:39,030
نمونه از استثناهایی را که ممکن است
14
00:00:39,030 –> 00:00:42,239
در حین اجرای یک برنامه رخ دهد را به شما نشان دهم، بنابراین برای
15
00:00:42,239 –> 00:00:44,910
شروع، می خواهم Pycharm Python را باز کنم.
16
00:00:44,910 –> 00:00:47,250
کنسولها و سپس من
17
00:00:47,250 –> 00:00:50,640
این کنترل PyCharm Python را به حداکثر میرسانم و
18
00:00:50,640 –> 00:00:55,110
اجازه میدهم این ترمینال را نیز پاک کنم، بنابراین
19
00:00:55,110 –> 00:00:57,600
از بالا شروع میکنیم، بنابراین فرض کنید
20
00:00:57,600 –> 00:00:59,609
یک عدد داریم و این
21
00:00:59,609 –> 00:01:03,420
عدد را بر 0 تقسیم میکنیم و وقتی ENTER را فشار میدهیم،
22
00:01:03,420 –> 00:01:06,299
به این استثنا را به ما بدهید که
23
00:01:06,299 –> 00:01:09,869
می گوید خطای تقسیم صفر، بنابراین این
24
00:01:09,869 –> 00:01:12,990
خطای تقسیم صفر یک استثنا است وقتی
25
00:01:12,990 –> 00:01:17,159
چیزی را در پایتون بر صفر تقسیم می کنید، اجازه دهید
26
00:01:17,159 –> 00:01:19,320
چند نمونه دیگر را به شما نشان دهم، بنابراین فرض کنید
27
00:01:19,320 –> 00:01:23,430
می خواهم تبلیغ کنم. d یک عدد و یک رشته
28
00:01:23,430 –> 00:01:26,310
فرض کنید 10 بعلاوه 10
29
00:01:26,310 –> 00:01:29,460
اما این یک عدد صحیح است و این
30
00:01:29,460 –> 00:01:32,490
10 یک رشته است و وقتی دستور را اجرا می
31
00:01:32,490 –> 00:01:36,119
کنم می گوید خطای نوع عملوند پشتیبانی نشده را
32
00:01:36,119 –> 00:01:39,750
برای int و string تایپ کنیم بنابراین نمی
33
00:01:39,750 –> 00:01:43,710
توانیم یک عدد و یک رشته در پایتون اضافه کنیم. بنابراین
34
00:01:43,710 –> 00:01:46,200
این نوع خطا نوع دیگری از
35
00:01:46,200 –> 00:01:49,829
استثنا است، فرض کنید من فقط
36
00:01:49,829 –> 00:01:54,119
از یک نام متغیر a b c استفاده می کنم
37
00:01:54,119 –> 00:01:57,000
که تا به حال اعلام نکرده ام و وقتی
38
00:01:57,000 –> 00:01:59,070
enter را فشار می دهم یک بار دیگر
39
00:01:59,070 –> 00:02:02,549
این استثنا را به من می دهد که می گوید نام
40
00:02:02,549 –> 00:02:05,790
خطای نام ABC تعریف نشده است که
41
00:02:05,790 –> 00:02:08,520
درست است زیرا
42
00:02:08,520 –> 00:02:11,610
ما نام ABC را تعریف نکردهایم اما این متغیر را
43
00:02:11,610 –> 00:02:13,750
که تعریف نکردهایم صدا میزنیم، بنابراین
44
00:02:13,750 –> 00:02:16,300
این استثنا را که میگوید خطای نام
45
00:02:16,300 –> 00:02:19,150
بعد میگوید اجازه دهید یک متغیر تعریف
46
00:02:19,150 –> 00:02:22,960
کنم و چند زوج را اختصاص میدهم. مقادیر اینجا
47
00:02:22,960 –> 00:02:25,480
یک و دو است و حالا کاری که میخواهم انجام دهم این است
48
00:02:25,480 –> 00:02:28,750
که میخواهم چند متد را فراخوانی کنم، بنابراین میتوانید
49
00:02:28,750 –> 00:02:32,440
ببینید که برخی از روشها برای این تاپل در دسترس هستند،
50
00:02:32,440 –> 00:02:35,800
حالا بیایید
51
00:02:35,800 –> 00:02:38,830
با استفاده از این متغیر دوتایی، یک روش تصادفی را فراخوانی
52
00:02:38,830 –> 00:02:41,320
کنیم، یک خطایی به ما میدهد که میگوید خطای ویژگی
53
00:02:41,320 –> 00:02:44,590
دو شی t هیچ مشخصه ای ندارد که
54
00:02:44,590 –> 00:02:46,630
من در اینجا ارائه کرده ام، بنابراین این
55
00:02:46,630 –> 00:02:49,810
ویژگی در شی تاپل وجود ندارد،
56
00:02:49,810 –> 00:02:53,800
همچنین وقتی متدی را فراخوانی می کنید،
57
00:02:53,800 –> 00:02:56,739
اجازه دهید متد دیگری را که
58
00:02:56,739 –> 00:02:58,780
وجود ندارد فراخوانی کنم و یک بار دیگر وقتی
59
00:02:58,780 –> 00:03:01,989
یک بار دیگر ENTER را فشار می دهم با این خطا مواجه می شوم.
60
00:03:01,989 –> 00:03:04,420
میگوید خطای ویژگی چون این
61
00:03:04,420 –> 00:03:07,480
تابع در شی تاپل وجود ندارد،
62
00:03:07,480 –> 00:03:10,870
بنابراین اینها همه استثنا هستند در
63
00:03:10,870 –> 00:03:14,140
خطای ویژگی پایتون یا خطای نام یا
64
00:03:14,140 –> 00:03:17,020
خطای نوع یا خطای تقسیم صفر همه
65
00:03:17,020 –> 00:03:20,590
در پایتون استثنا هستند اکنون اگر
66
00:03:20,590 –> 00:03:23,980
میخواهید استثناهای بیشتری ببینید، میتوانید از کمک استفاده کنید.
67
00:03:23,980 –> 00:03:24,760
68
00:03:24,760 –> 00:03:27,510
متد inbuilt و سپس می توانید داخلی ها را
69
00:03:27,510 –> 00:03:29,860
بنویسید و سپس Enter را فشار دهید
70
00:03:29,860 –> 00:03:31,989
، یک بار دیگر خطای نام را به
71
00:03:31,989 –> 00:03:35,950
من می دهد زیرا ابتدا باید
72
00:03:35,950 –> 00:03:39,250
این ماژول داخلی را وارد کنم، بنابراین داخلی ها را وارد کنید
73
00:03:39,250 –> 00:03:41,860
و من یک بار دیگر از راهنما استفاده می کنم. و
74
00:03:41,860 –> 00:03:44,620
در داخل پرانتز داخلی و سپس
75
00:03:44,620 –> 00:03:47,350
Enter را فشار دهید که
76
00:03:47,350 –> 00:03:50,470
این نوع خروجی را به من می دهد و وقتی به
77
00:03:50,470 –> 00:03:53,170
بالای این خروجی رفتم، اجازه دهید فقط
78
00:03:53,170 –> 00:03:56,620
در بالا اسکرول کنم و در اینجا زیر کلاس ها را خواهید دید.
79
00:03:56,620 –> 00:04:00,040
e یک کلاس شی است و
80
00:04:00,040 –> 00:04:02,530
در زیر کلاس شی یک
81
00:04:02,530 –> 00:04:04,390
کلاس استثنای پایه وجود دارد و در زیر
82
00:04:04,390 –> 00:04:06,850
استثنای پایه کلاس استثنا قرار می گیرد و
83
00:04:06,850 –> 00:04:09,250
در زیر استثنا یک لیست بزرگ
84
00:04:09,250 –> 00:04:12,790
از استثناها وجود دارد که می توانید اینجا ببینید، بنابراین
85
00:04:12,790 –> 00:04:15,610
خطای تقسیم 0 قبلاً دیده ایم یا
86
00:04:15,610 –> 00:04:18,459
وقتی خطای نام را به پایین اسکرول میکنید،
87
00:04:18,459 –> 00:04:20,978
قبلاً دیدهایم، بنابراین همه استثناهایی که
88
00:04:20,978 –> 00:04:24,729
پایتون ممکن است ایجاد کند، همه در اینجا فهرست شدهاند، بنابراین
89
00:04:24,729 –> 00:04:26,260
اگر میخواهید فهرست همه
90
00:04:26,260 –> 00:04:27,400
استثناها
91
00:04:27,400 –> 00:04:30,520
را ببینید، فقط میتوانید این روش را بدهید که
92
00:04:30,520 –> 00:04:33,160
کمک داخلی است، اما قبل از آن شما باید
93
00:04:33,160 –> 00:04:36,160
این ماژول داخلی را وارد کنید و سپس
94
00:04:36,160 –> 00:04:38,320
این نوع خروجی را به شما نشان میدهد
95
00:04:38,320 –> 00:04:40,900
و همچنین میتوانید
96
00:04:40,900 –> 00:04:44,020
همه این استثناها را در پایتون ببینید، حالا اجازه
97
00:04:44,020 –> 00:04:47,550
دهید یک مثال واقعی از
98
00:04:47,550 –> 00:04:50,110
استثناها در پایتون را به شما نشان دهم تا من چه هستم.
99
00:04:50,110 –> 00:04:52,539
من قصد دارم چند
100
00:04:52,539 –> 00:04:54,789
متغیر را در اینجا تعریف کنم، بنابراین متغیر اول
101
00:04:54,789 –> 00:04:56,830
نتیجه است و من آن را
102
00:04:56,830 –> 00:05:00,639
با مقدار none مقداردهی اولیه می کنم و سپس
103
00:05:00,639 –> 00:05:04,000
دو متغیر را اعلام می کنم، فرض کنید a
104
00:05:04,000 –> 00:05:07,330
که یک ورودی می گیرد و ما می خواهیم برای درخواست
105
00:05:07,330 –> 00:05:09,970
از کاربر تعدادی اعداد را ارائه کنید، بنابراین
106
00:05:09,970 –> 00:05:14,620
فرض کنید شماره یک با استفاده از متغیر
107
00:05:14,620 –> 00:05:16,930
a و به همین ترتیب
108
00:05:16,930 –> 00:05:19,539
، متغیر B را اعلام می کنم که
109
00:05:19,539 –> 00:05:22,690
از کاربر می خواهد عدد دوم را ارائه دهد، اما
110
00:05:22,690 –> 00:05:24,580
شما قبلاً می دانید که این ورودی
111
00:05:24,580 –> 00:05:28,479
رشته را برمی گرداند، بنابراین ما می توانیم فقط
112
00:05:28,479 –> 00:05:31,240
این رشته را به یک شناور تبدیل کنید، فرض کنید، بنابراین
113
00:05:31,240 –> 00:05:33,729
من فقط
114
00:05:33,729 –> 00:05:38,080
خروجی این رشته ورودی را به یک مقدار شناور تبدیل می کنم
115
00:05:38,080 –> 00:05:40,300
و سپس کاری که می خواهم انجام دهم این است که می خواهم
116
00:05:40,300 –> 00:05:43,870
تقسیم دو عدد a
117
00:05:43,870 –> 00:05:47,800
و B را به آن ذخیره کنم. نتیجه را تقسیم بر B
118
00:05:47,800 –> 00:05:50,979
میخواهم آن را در نتیجه ذخیره کنم
119
00:05:50,979 –> 00:05:53,680
و در نهایت فقط میخواهم
120
00:05:53,680 –> 00:05:56,620
مقدار نتیجه را چاپ کنم حالا اجازه دهید
121
00:05:56,620 –> 00:05:59,800
این برنامه را اجرا کنیم، بنابراین روی run نام فایل کلیک راست کرده
122
00:05:59,800 –> 00:06:01,870
و سپس اجازه دهید تعدادی
123
00:06:01,870 –> 00:06:07,300
اعداد را در اینجا ارائه کنم. 5 و 6 را
124
00:06:07,300 –> 00:06:10,060
بزنید و Enter را فشار دهید، نتیجه
125
00:06:10,060 –> 00:06:12,729
تقسیم این دو عدد به
126
00:06:12,729 –> 00:06:15,490
من می رسد، اجازه دهید یک بار دیگر برنامه را اجرا کنم و این
127
00:06:15,490 –> 00:06:18,370
بار 10 را ارائه می دهم و
128
00:06:18,370 –> 00:06:21,250
عدد دوم برابر با 0 است و می دانیم
129
00:06:21,250 –> 00:06:24,669
که وقتی ما تعدادی عدد y را بر 0 تقسیم
130
00:06:24,669 –> 00:06:27,760
کنید، این استثنا را دریافت می کنیم که می گوید
131
00:06:27,760 –> 00:06:30,520
خطای تقسیم صفر و همچنین مشاهده خواهید کرد
132
00:06:30,520 –> 00:06:34,120
که به محض این که این خطا پرتاب می شود پس
133
00:06:34,120 –> 00:06:36,849
این خطا از این خط 5 می آید
134
00:06:36,849 –> 00:06:39,400
بنابراین وقتی روی این خط کلیک می کنید به
135
00:06:39,400 –> 00:06:40,500
ما نشان می دهد که
136
00:06:40,500 –> 00:06:42,540
این از این خط می آید که
137
00:06:42,540 –> 00:06:45,300
تقسیم این ها است. دو عدد و به
138
00:06:45,300 –> 00:06:47,960
محض اینکه این استثنا رخ داد، تمام
139
00:06:47,960 –> 00:06:51,960
کدهایی که می خواهیم اجرا
140
00:06:51,960 –> 00:06:54,840
کنیم اجرا نمی شود، بنابراین ما
141
00:06:54,840 –> 00:06:57,660
این نتیجه را در اینجا چاپ می کردیم اما چاپ نشده است،
142
00:06:57,660 –> 00:07:00,330
اجازه دهید من چیز دیگری را اینجا چاپ کنم، بنابراین می
143
00:07:00,330 –> 00:07:03,750
خواهم بگویم پایان و یک بار دیگر
144
00:07:03,750 –> 00:07:05,880
برنامه را اجرا میکنم و
145
00:07:05,880 –> 00:07:08,880
همان ورودیها را در اینجا ارائه میدهم و
146
00:07:08,880 –> 00:07:12,150
میتوانید ببینید که نه این عبارت
147
00:07:12,150 –> 00:07:16,200
چاپ شده است و نه پایان آن چاپ شده است، بنابراین
148
00:07:16,200 –> 00:07:19,230
هر زمان استثنایی رخ داد، عنوان متوقف میشود
149
00:07:19,230 –> 00:07:22,380
هر کاری که انجام میدهد در مورد ما این کار را انجام نمیدهد.
150
00:07:22,380 –> 00:07:24,900
هر زمان ک