در این مطلب، ویدئو اشکال زدایی پس از مرگ در پایتون (مبتدی – متوسط) آنتونی #018 را توضیح می دهد با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:12:19
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:03,650 –> 00:00:07,080
سلام و به ویدیوی دیگری خوش آمدید
2
00:00:07,080 –> 00:00:09,389
امروز یکی
3
00:00:09,389 –> 00:00:11,849
از تکنیک های کوچک مورد علاقه من را در حین
4
00:00:11,849 –> 00:00:15,389
اشکال زدایی برنامه های باگی به نام
5
00:00:15,389 –> 00:00:18,449
اشکال زدایی پس از مرگ و کلمه
6
00:00:18,449 –> 00:00:20,640
پس از مرگ از پس از مرگ آمده است، توضیح می دهیم، بنابراین
7
00:00:20,640 –> 00:00:22,430
اساساً ما به اشکال زدایی خواهیم پرداخت.
8
00:00:22,430 –> 00:00:25,080
سناریوهای شکست پس از مشکلی
9
00:00:25,080 –> 00:00:27,240
که قبلاً رخ داده است، بنابراین بیایید
10
00:00:27,240 –> 00:00:31,890
به مثال خود بپردازیم، خوب است، بنابراین
11
00:00:31,890 –> 00:00:33,780
من یک برنامه کوچک میسازم، حدس میزنم
12
00:00:33,780 –> 00:00:36,899
نوشتن آن کمی طول میکشد، اما
13
00:00:36,899 –> 00:00:38,640
این برنامه یک مثال بسیار احمقانه خواهد بود
14
00:00:38,640 –> 00:00:41,910
که فقط جمعآوری میکند. یک دسته از
15
00:00:41,910 –> 00:00:45,149
اعداد با هم آنها میانگین هستند یک
16
00:00:45,149 –> 00:00:50,190
دسته از اعداد من نمی دانم مطمئن هستم که ما
17
00:00:50,190 –> 00:01:00,300
آن را در یک ثانیه پیاده
18
00:01:00,300 –> 00:01:05,479
19
00:01:05,479 –> 00:01:15,299
20
00:01:15,299 –> 00:01:17,580
سازی خواهیم کرد. تعدادی
21
00:01:17,580 –> 00:01:26,880
اعداد را وارد کنید و نوارهای لیست اعضا را ببینید،
22
00:01:26,880 –> 00:01:28,560
زیرا وقتی روی یک فایل تکرار
23
00:01:28,560 –> 00:01:30,030
میکنید، خطوط جدیدی در انتهای
24
00:01:30,030 –> 00:01:33,329
خط دریافت میکنید اگر خط برابر با انجام شده باشد
25
00:01:33,329 –> 00:01:38,369
، در غیر این صورت قلمهای نقطهای اعداد را میشکنیم،
26
00:01:38,369 –> 00:01:40,979
مثل اینکه من عمداً باگ میکنم.
27
00:01:40,979 –> 00:01:43,530
در اینجا این باید اعضای یک قلم
28
00:01:43,530 –> 00:01:45,420
مانند خط شناور یا خط داخلی یا
29
00:01:45,420 –> 00:01:47,549
چیزی شبیه به آن باشد، اما
30
00:01:47,549 –> 00:01:49,110
بیایید عمداً این برنامه را باگی
31
00:01:49,110 –> 00:01:51,210
stat ایجاد کنیم که همه چیزی برای نشان دادن به شما داشته باشند و
32
00:01:51,210 –> 00:01:53,280
سپس تابع میانگین ما در اینجا فقط می
33
00:01:53,280 –> 00:01:57,430
تواند برخی از اعداد تقسیم بر
34
00:01:57,430 –> 00:02:00,190
آن را برگرداند. تابع متوسط کمی من
35
00:02:00,190 –> 00:02:02,350
ر واقع دو با
36
00:02:02,350 –> 00:02:04,060
مختلف را نشان خواهم داد تا بتوانیم این را
37
00:02:04,060 –> 00:02:06,580
38
00:02:06,580 –> 00:02:09,520
ه روشی جالبتر ببینیم، بنابراین من عمداً در مورد gear ساخته شدهام و ا
39
00:02:09,520 –> 00:02:12,250
ر این برنامه را اجرا کنیم تا Pytho
40
00:02:12,250 –> 00:02:15,640
3 T 2 pi را انجام دهیم، مقداری تایپ میکنیم. اع
41
00:02:15,640 –> 00:02:20,620
مانند هر چیزی که برخی از اعداد و سپس
42
00:02:20,620 –> 00:02:23,560
ما تایپ می کنیم oh ما فراموش کرده ایم که در واقع
43
00:02:23,560 –> 00:02:31,830
قسمت میانگین را انجام دهیم البته میانگین این است که
44
00:02:31,830 –> 00:02:38,830
اعداد دوباره سفر می کنند 3 2 1
45
00:02:38,830 –> 00:02:41,160
یک عدد بزرگتر دیگر و سپس انجام
46
00:02:41,160 –> 00:02:44,490
می شود خواهید دید که در اینجا یک عملوند پشتیبانی نشده یک خطای نوع دریافت می کنیم.
47
00:02:44,490 –> 00:02:47,590
برای plus int تایپ کنید
48
00:02:47,590 –> 00:02:51,010
و هم بزنید و منظورم این است که اگر این برنامه
49
00:02:51,010 –> 00:02:53,860
چیزی فراتر از این احمقانه یک
50
00:02:53,860 –> 00:02:55,720
برنامه ساده بود، ممکن است بسیار دشوار باشد
51
00:02:55,720 –> 00:02:57,580
که بفهمیم این چیزها دقیقاً
52
00:02:57,580 –> 00:02:59,500
در آن نقطه از زمان چیست و چرا
53
00:02:59,500 –> 00:03:01,180
در این مرحله با این نوع خطا مواجه شدیم و اینجاست
54
00:03:01,180 –> 00:03:03,370
که اشکال زدایی پس از مرگ وارد می شود،
55
00:03:03,370 –> 00:03:05,470
ما در واقع به سه
56
00:03:05,470 –> 00:03:07,810
روش مختلف برای مقابله با حشرات پس از مرگ می
57
00:03:07,810 –> 00:03:09,190
پردازیم و این اولین موردی
58
00:03:09,190 –> 00:03:13,540
است که ماژول PDB است اما به طور خاص
59
00:03:13,540 –> 00:03:16,540
در حال اجرا است. ماژول PDB تکنیک دیگری را خواهیم دید
60
00:03:16,540 –> 00:03:18,250
که در واقع از هر
61
00:03:18,250 –> 00:03:19,900
سه آنها به صورت فنی از
62
00:03:19,900 –> 00:03:22,390
ماژول PDB استفاده می کنند، اما این زمانی است که
63
00:03:22,390 –> 00:03:25,330
اجرای ماژول PDB را فراخوانی می کنم و بنابراین ما
64
00:03:25,330 –> 00:03:29,680
– و PDB – فایل اجرایی پایتون را ارسال می کنیم و
65
00:03:29,680 –> 00:03:31,780
این کار را انجام می دهد. ما را در یک دیباگر رها کنید تا
66
00:03:31,780 –> 00:03:33,940
برنامه خود را شروع کنیم و سپس وقتی برنامه ما
67
00:03:33,940 –> 00:03:36,280
خراب شد، یک اشکال زدا تعاملی به ما می دهد،
68
00:03:36,280 –> 00:03:38,200
بنابراین وقتی
69
00:03:38,200 –> 00:03:46,690
enter اینجا PDV را فشار می دهیم من نارساخوان نیستم، قسم می خورم
70
00:03:46,690 –> 00:03:48,489
که
71
00:03:48,489 –> 00:03:50,200
قبل از شروع برنامه، ما را به یک دیباگر می اندازد. بنابراین
72
00:03:50,200 –> 00:03:52,870
در این خط واردات در اینجا منتظر میمانید و برای
73
00:03:52,870 –> 00:03:54,459
شروع برنامهتان فقط میتوانید
74
00:03:54,459 –> 00:03:57,610
ادامه را مشاهده کنید و اکنون برنامه عادی
75
00:03:57,610 –> 00:04:00,400
مانند قبل اجرا میشود و میدانید که
76
00:04:00,400 –> 00:04:05,390
اعداد را در اینجا تایپ کنید oh danng it
77
00:04:05,390 –> 00:04:08,600
I should not on that I should
78
00:04:08,600 –> 00:04:10,130
not a را تایپ کرده اند رشته تصادفی در اینجا
79
00:04:10,130 –> 00:04:11,180
میتوانستم انجام دهم، حدس میزنم میتوانستم
80
00:04:11,180 –> 00:04:12,650
مشکل آن را هم توضیح
81
00:04:12,650 –> 00:04:17,660
دهم، خدای من، این مشکل خوب پیش نمیرود،
82
00:04:17,660 –> 00:04:20,140
پس ممکن است زمانی را برای مزاحمان بگذاری
83
00:04:20,140 –> 00:04:23,600
که میرویم و سپس تایپ میکنیم انجام شده است و
84
00:04:23,600 –> 00:04:26,450
خواهید دید که نتیجه گرفتیم تصادف قبلی
85
00:04:26,450 –> 00:04:30,230
که ما شاهد آن بودیم، اما کار خوبی
86
00:04:30,230 –> 00:04:31,820
که انجام شد این بود که ما را به
87
00:04:31,820 –> 00:04:34,070
اشکالزدایی پس از مرگ کشاند و
88
00:04:34,070 –> 00:04:35,960
چراغ شکست خود را در اینجا تنظیم کرد تا بتوانیم ببینیم در واقع
89
00:04:35,960 –> 00:04:38,060
هیچ نقطه شکستی وجود ندارد، نقطه شکستی ایجاد کرده است که در
90
00:04:38,060 –> 00:04:40,370
آن تصادف رخ داده است. بنابراین
91
00:04:40,370 –> 00:04:42,650
ما میتوانیم اعداد را در اینجا بررسی کنیم و بگوییم
92
00:04:42,650 –> 00:04:46,760
اوه مرد من یک آدمک هستم، منظورم این
93
00:04:46,760 –> 00:04:48,440
نبود که آنها رشتههایی هستند، آنها قرار است
94
00:04:48,440 –> 00:04:50,419
شناور باشند، بنابراین من به اینجا میروم و
95
00:04:50,419 –> 00:04:54,050
خط را از رشته به یک
96
00:04:54,050 –> 00:04:55,850
شناور تبدیل میکنم و میتوانیم برنامه خود را
97
00:04:55,850 –> 00:04:59,680
دوباره اجرا کنید و وقتی این بار آن را اجرا کردیم، من
98
00:04:59,680 –> 00:05:04,400
SDF نمیخواهم و این کار را انجام دادم، میتوانید
99
00:05:04,400 –> 00:05:06,970
ببینید که برنامه همانطور که انتظار میرفت کار میکند
100
00:05:06,970 –> 00:05:10,060
، در واقع یک باگ دوم در اینجا وجود دارد
101
00:05:10,060 –> 00:05:13,729
و این همان چیزی است که اگر فقط
102
00:05:13,729 –> 00:05:15,890
اینجا انجام شد را فشار دهیم. یک خطای تقسیم صفر
103
00:05:15,890 –> 00:05:18,080
در حال حاضر البته در این شما فقط می توانید
104
00:05:18,080 –> 00:05:21,229
استنباط کنید که اعداد لن صفر هستند و بنابراین
105
00:05:21,229 –> 00:05:23,030
نه، برای این کار نیازی به اشکال زدایی
106
00:05:23,030 –> 00:05:25,400
نخواهید داشت، اما همچنین می توانید از PDB استفاده
107
00:05:25,400 –> 00:05:27,500
کنید تا در همان حالت قرار بگیرید، بنابراین دوباره
108
00:05:27,500 –> 00:05:28,910
در ابتدای برنامه ادامه دهید
109
00:05:28,910 –> 00:05:32,990
و سپس تمام شد و می بینید که
110
00:05:32,990 –> 00:05:34,550
ما خطای تقسیم صفر خود را در اینجا دریافت می کنیم و می
111
00:05:34,550 –> 00:05:37,520
بینید که اعداد یک لیست خالی است و
112
00:05:37,520 –> 00:05:40,300
البته صفر تقسیم بر صفر یک خطا است
113
00:05:40,300 –> 00:05:43,610
و بنابراین می توانیم یک مورد برای این بنویسیم
114
00:05:43,610 –> 00:05:49,070
و بگوییم اگر نه اعداد هیچ
115
00:05:49,070 –> 00:05:55,700
عددی وارد نشده است و من در غیر این صورت این کار را اینجا انجام می دهم
116
00:05:55,700 –> 00:05:58,790
تا حالا که برنامه خود را اصلاح کرده ایم،
117
00:05:58,790 –> 00:06:02,540
بله با Q از آن خارج شده و به
118
00:06:02,540 –> 00:06:04,850
طور معمول آن را اجرا کنید، خواهید دید که اگر
119
00:06: