در این مطلب، ویدئو تکنیک های مهندسی نرم افزار (سطح مبتدی) | آموزش SciPy 2018 | مت دیویس، آلیسا ویتول با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:02,820
نام من مت دیویس آلیسا است در
2
00:00:02,820 –> 00:00:05,400
پشت و همچنین در اینجا کمک می کند ما
3
00:00:05,400 –> 00:00:08,309
هر دو در شرکت بیمه سلامت Clover
4
00:00:08,309 –> 00:00:11,190
کار می کنیم و مستقر در سانفرانسیسکو
5
00:00:11,190 –> 00:00:13,170
مهندسین نرم افزار در آنجا هستیم اما هر دوی ما
6
00:00:13,170 –> 00:00:16,440
پیشینه داده ای داریم که من
7
00:00:16,440 –> 00:00:18,660
از پایتون استفاده کرده ام. حدود 10 سال
8
00:00:18,660 –> 00:00:20,189
است که از طریق کنفرانس به اینجا می
9
00:00:20,189 –> 00:00:23,189
آییم و تقریباً به همان اندازه
10
00:00:23,189 –> 00:00:24,779
هر بار که عالی است از آن لذت
11
00:00:24,779 –> 00:00:28,470
ببرید، اگر این اولین بار است که
12
00:00:28,470 –> 00:00:31,019
هدف ما در اینجا این است که کمی به شما نشان دهیم، از آن لذت
13
00:00:31,019 –> 00:00:34,820
خواهید برد. بخشی از فرآیندی که
14
00:00:34,820 –> 00:00:37,710
من یا آلیسا در هنگام
15
00:00:37,710 –> 00:00:40,920
نوشتن کدی انجام می دهیم که قرار است
16
00:00:40,920 –> 00:00:43,290
با افراد دیگری که قرار است در محیط های تولیدی اجرا شوند به اشتراک گذاشته شود،
17
00:00:43,290 –> 00:00:46,649
18
00:00:46,649 –> 00:00:49,500
آنها فکر و فرآیندی را دوست دارند که
19
00:00:49,500 –> 00:00:51,360
در پشت کدی قرار می دهیم که آن را ایجاد می کند تا
20
00:00:51,360 –> 00:00:53,399
بتوانیم به آن اعتماد کنید و آن را تغییر دهید و
21
00:00:53,399 –> 00:00:57,510
افراد دیگر می توانند با آن کار کنند و سپس
22
00:00:57,510 –> 00:00:59,489
کمی و این شامل مواردی مانند
23
00:00:59,489 –> 00:01:01,859
نحوه طراحی کد است که چگونه
24
00:01:01,859 –> 00:01:05,010
در مورد نوشتن کد فکر می کنید، شامل
25
00:01:05,010 –> 00:01:08,250
مواردی مانند تست و اشکال زدایی و
26
00:01:08,250 –> 00:01:11,040
پروفایل عملکرد و بسته بندی است. پیری
27
00:01:11,040 –> 00:01:12,869
که مانند نحوه ارسال کد به
28
00:01:12,869 –> 00:01:14,790
افراد دیگر یا حتی در رایانه شخصی خود
29
00:01:14,790 –> 00:01:17,790
نحوه استفاده مجدد از کدهایی است که
30
00:01:17,790 –> 00:01:22,290
در محیط های مختلف می نویسید زیرا
31
00:01:22,290 –> 00:01:24,210
ممکن است کدی را بنویسید که بخواهید
32
00:01:24,210 –> 00:01:28,229
در بسیاری از تجزیه و تحلیل ها از آنها استفاده مجدد کنید، بنابراین ما
33
00:01:28,229 –> 00:01:33,000
کمی در مورد آن صحبت خواهیم کرد. در حالی که ما می رویم، من
34
00:01:33,000 –> 00:01:36,780
کاملاً خوشحالم که سؤالات را می پرسم، بنابراین اگر
35
00:01:36,780 –> 00:01:39,390
36
00:01:39,390 –> 00:01:41,220
سؤالی دارید در حالی که ما می رویم و
37
00:01:41,220 –> 00:01:42,689
38
00:01:42,689 –> 00:01:44,280
فرصت های زیادی برای شما وجود دارد که کار کنید
39
00:01:44,280 –> 00:01:46,829
و من و ملیسا خواهیم بود، دست خود را بلند کنید تا سر من فریاد بزنید. راه رفتن در اطراف برای
40
00:01:46,829 –> 00:01:48,689
کمک به شما اگر به مشکل
41
00:01:48,689 –> 00:01:51,299
برخوردید، راحت باشید که یکی از ما را پایین
42
00:01:51,299 –> 00:01:53,939
بیاورید.
43
00:01:53,939 –> 00:01:56,430
44
00:01:56,430 –> 00:01:57,719
45
00:01:57,719 –> 00:01:59,790
با همین
46
00:01:59,790 –> 00:02:03,930
مشکل مواجه شوید و پاسخی برای شما داشته
47
00:02:03,930 –> 00:02:08,239
باشم، بنابراین
48
00:02:08,239 –> 00:02:12,739
امیدوارم قبل از شروع به کار، کانال خوبی برای هر گونه سوال باشد،
49
00:02:16,370 –> 00:02:20,670
بنابراین ما در فهرست پروژه کوچکمان
50
00:02:20,670 –> 00:02:27,540
چند فایل
51
00:02:27,540 –> 00:02:32,250
داده داریم که ممکن است سخت باشد.
52
00:02:32,250 –> 00:02:36,530
ببینیم چی دانلود می کنیم این مجموعه
53
00:02:36,530 –> 00:02:39,840
دادهای از دادههای بازرسی رستوران از
54
00:02:39,840 –> 00:02:44,790
شهر سانفرانسیسکو بود که حاوی مجموعهای
55
00:02:44,790 –> 00:02:48,599
از دادهها در مورد این رستورانها
56
00:02:48,599 –> 00:02:55,680
اطلاعات تماس مکان آنها در زمان
57
00:02:55,680 –> 00:02:59,670
58
00:02:59,670 –> 00:03:04,349
وقوع بازرسی بود.
59
00:03:04,349 –> 00:03:06,180
60
00:03:06,180 –> 00:03:08,250
زیرا این نوعی توصیف خشونت آمیز
61
00:03:08,250 –> 00:03:11,609
از تخلفات است و سپس یک
62
00:03:11,609 –> 00:03:13,859
طبقه بندی از این که آیا این تخلف مانند یک
63
00:03:13,859 –> 00:03:16,769
64
00:03:16,769 –> 00:03:19,500
تخلف پرخطر یا کم خطر یا با خطر متوسط است، بنابراین می خواهیم با این مج
65
00:03:19,500 –> 00:03:24,870
وعه داده کار کنیم، می خواهیم در نم
66
00:03:24,870 –> 00:03:27,599
نه اسباب بازی خود در اینجا یک دستور بنویسیم- ابزار خطی
67
00:03:27,599 –> 00:03:36,840
که در آن میتوانیم در یک ماه عبور کنیم و
68
00:03:36,840 –> 00:03:42,989
ببینیم که خلاصهای از امتیازات مختلف ریسک آن ماه را چاپ میکند،
69
00:03:42,989 –> 00:03:46,310
70
00:03:46,310 –> 00:03:48,599
مانند این که این تعداد بازرسی کم خطر،
71
00:03:48,599 –> 00:03:50,220
این تعداد بازرسی پرخطر
72
00:03:50,220 –> 00:03:56,370
و غیره در واقعیت وجود دارد. مثل
73
00:03:56,370 –> 00:03:59,010
اینکه یک دسته
74
00:03:59,010 –> 00:04:00,780
کد سفارشی برای این کار نمی نویسید، مثل دو خط پاندا می نویسید،
75
00:04:00,780 –> 00:04:04,650
اما برای اینکه
76
00:04:04,650 –> 00:04:07,650
77
00:04:07,650 –> 00:04:10,019
در دوره آموزشی امروز یک کد واقعا پیچیده ننویسیم
78
00:04:10,019 –> 00:04:14,549
این مشکل کوچک را حل کنید که
79
00:04:14,549 –> 00:04:16,409
توصیف آن برای شما خیلی سخت نیست و مانند ما
80
00:04:16,409 –> 00:04:18,320
می توانیم در تعداد معقولی از
81
00:04:18,320 –> 00:04:25,380
خطوط کد بنویسیم، بنابراین اولین چیزی که می خواهم
82
00:04:25,380 –> 00:04:29,130
در مورد آن صحبت کنم این است که اجازه دهید مطمئن شوم
83
00:04:29,130 –> 00:04:43,730
که چند دقیقه وقت دارم همه چیز خوب
84
00:05:03,169 –> 00:05:05,860
85
00:05:05,919 –> 00:05:08,139
است. تازه کردن حافظه من از همه چیز
86
00:05:08,139 –> 00:05:10,469
در اینجا
87
00:05:13,900 –> 00:05:16,590
88
00:05:17,830 –> 00:05:21,530
بسیار خوب است، بنابراین این مجموعه داده، فایل
89
00:05:21,530 –> 00:05:24,080
کامل همه داده ها را در آنجا قرار می دهد و سپس یک
90
00:05:24,080 –> 00:05:27,170
زیر مجموعه کوچک از آن ایجاد کردیم که برای آزمایش مفید خواهد بود،
91
00:05:27,170 –> 00:05:29,590
زیرا می توانیم این
92
00:05:29,590 –> 00:05:32,600
مجموعه داده های آزمایشی را باز کنیم و با چشمانمان مانند
93
00:05:32,600 –> 00:05:35,450
شمارش هنگامی
94
00:05:35,450 –> 00:05:37,850
که کارهایی را که با این مجموعه داده کامل بسیار سخت تر است، انتظار داریم نتایج چه
95
00:05:37,850 –> 00:05:39,320
باشد، زیرا
96
00:05:39,320 –> 00:05:42,020
هزاران خط دارد، بنابراین اولین کاری که
97
00:05:42,020 –> 00:05:45,050
می خواهم انجام دهم این است که یک فایل متنی را باز
98
00:05:45,050 –> 00:05:46,790
کنم که قرار است مانند فایل های متنی انجام دهیم. و
99
00:05:46,790 –> 00:05:52,520
خط فرمان برای بسیاری از این موارد، بنابراین من از
100
00:05:52,520 –> 00:05:55,640
هر ویرایشگر متنی که
101
00:05:55,640 –> 00:05:57,560
مورد علاقه شما است یا هر کدام
102
00:05:57,560 –> 00:05:59,540
را که به طور تصادفی از مجموعه توصیه شده انتخاب کرده اید، از متن sublime استفاده می کنم،
103
00:05:59,540 –> 00:06:04,490
مانند ما استفاده خواهیم کرد که من از sublime از
104
00:06:04,490 –> 00:06:09,680
خط فرمان استفاده می کنیم، اگر می خواهید استفاده کنید.
105
00:06:09,680 –> 00:06:11,510
اگر شما یک گردش کار متفاوت
106
00:06:11,510 –> 00:06:13,850
برای باز کردن، میتوانید مانند
107
00:06:13,850 –> 00:06:16,670
یک کد v/s عالی برنامه را باز کنید،
108
00:06:16,670 –> 00:06:19,270
هر کدام را که استفاده میکنید مانند فایل جدید انجام دهید
109
00:06:19,270 –> 00:06:22,250
و آن را در این مکان ذخیره کنید که
110
00:06:22,250 –> 00:06:30,350
کار میکند، اما این
111
00:06:30,350 –> 00:06:35,300
فایل کاری من برای همه من خواهد بود. کد و من
112
00:06:35,300 –> 00:06:38,530
این را تا حد امکان بزرگ
113
00:06:43,960 –> 00:06:51,920
خواهم کرد و اجازه دهید یک ثانیه
114
00:06:51,920 –> 00:06:54,350
به همه فرصت بدهم تا یک فایل متنی
115
00:06:54,350 –> 00:07:02,740
جلوی آنها بگیرند، اگر خوب نیست، دست خود را بالا ببرید
116
00:07:02,740 –> 00:07:07,300
و من کمک می خواهم
117
00:07:47,750 –> 00:07:50,240
بله، بنابراین فکر می کنم وقتی نصب می کنید
118
00:07:50,240 –> 00:07:53,180
یک کد در مقابل یک
119
00:07:53,180 –> 00:07:55,970
رابط خط فرمان به نام کد دارد، فکر میکنم
120
00:07:55,970 –> 00:07:58,850
امتحان نکردهام که اگر از sublime استفاده میکنید، بهطور
121
00:07:58,850 –> 00:08:00,470
خودکار مانند یک
122
00:08:00,470 –> 00:08:02,120
رابط خط فرمان نصب نمیشود،
123
00:08:02,120 –> 00:08:04,370
اما اگر در گوگل جستجو کنید چگونه
124
00:08:04,370 –> 00:08:06,080
این کار را انجام دهید، میتوانید آن را ایجاد کنید. و دستورالعمل ها را دریافت خواهید کرد،
125
00:08:06,080 –> 00:08:08,330
اما خوب است که
126
00:08:08,330 –> 00:08:10,460
برنامه را باز کنید و بگویید فایل جدید
127
00:08:10,460 –> 00:08:13,460
و سپس آن را در این دایرکتوری ذخیره کنید –
128
00:08:13,460 –> 00:08:17,720
با نامی مانند این به آن
129
00:08:17,720 –> 00:08:19,900
تجزیه و تحلیل نقطه pi می گویند اگر نمی توانید آن را خوب بخوانید.
130
00:08:19,900 –> 00:08:25,360
به نوعی مشکل ما را تعریف کرده
131
00:08:25,360 –> 00:08:28,730
ایم که می خواهیم بنویسیم کدی
132
00:08:28,730 –> 00:08:34,400
که در آن ما یک فایل داده و یک ماه داریم
133
00:08:34,400 –> 00:08:43,669
و هدف ما این است که محاسبه کنیم، من
134
00:08:43,669 –> 00:08:49,990
تعداد امتیازات هر ریسک را محاسبه میکنم
135
00:08:49,990 –> 00:08:57,550
و نشان میدهم که
136
00:08:58,540 –> 00:09:00,500
مستندات آن ماه واقعا مفید است،
137
00:09:00,500 –> 00:09:02,990
در واقع یک قرارداد در بالای یک
138
00:09:02,990 –> 00:09:05,960
فایل برای انجام یک سند است. به جای این
139
00:09:05,960 –> 00:09:08,690
سبک کامنت، رشته ای را برای انجام سبک نظر نقل قول سه گانه
140
00:09:08,690 –> 00:09:13,370
و سپس خلاصه
141
00:09:13,370 –> 00:09:16,130
ای از آنچه این ماژول انجام می دهد را در اینجا
142
00:09:16,130 –> 00:09:17,600
143
00:09:17,600 –> 00:09:20,540
قرار دهید.
144
00:09:20,540 –> 00:09:27,760
145
00:09:30,100 –> 00:09:32,630
مانند توضیحات سطح بالا، می توانید
146
00:09:32,630 –> 00:09:35,990
اسناد زیادی را قرار دهید، بنابراین اگر می توانید
147
00:09:35,990 –> 00:09:37,520
اطلاعات زیادی را در اینجا قرار دهید تا آنجا که می
148
00:09:37,520 –> 00:09:40,940
خواهید و وقتی می روید و مطالبی مانند
149
00:09:40,940 –> 00:09:44,960
اسناد پانداها یا اسناد Empire
150
00:09:44,960 –> 00:09:48,050
Syfy را می خوانید، بسیاری از آن ها
151
00:09:48,050 –> 00:09:52,310
از رشتههایی مانند این
152
00:09:52,310 –> 00:09:55,250
در فایلهای کد نوشته میشوند و ما امروز قصد نداریم به این موضوع
153
00:09:55,250 –> 00:09:58,700
بپردازیم که چگونه دوست داشته باشیم بسیاری از
154
00:09:58,700 –> 00:10:01,250
این پروژهها از Sphinx و
155
00:10:01,250 –> 00:10:03,230
auto-doc استفاده میکنند که این
156
00:10:03,230 –> 00:10:05,360
رشتههای اسناد را از فایلهای کد خارج کرده و
157
00:10:05,360 –> 00:10:06,980
آنها را به HTML قالببندی میکند، اما شما هرگز
158
00:10:06,980 –> 00:10:10,220
اسناد
159
00:10:10,220 –> 00:10:12,140
زیادی را برای بسیاری از کتابخانه ها نمی خوانید که اینگونه است
160
00:10:12,140 –> 00:10:15,850
که از مواردی مانند این تولید می شود،
161
00:10:16,270 –> 00:10:19,370
خوب است، بنابراین با توجه به این مشکل، بیایید به این فکر کنیم
162
00:10:19,370 –> 00:10:22,040
که چه توابعی را می خواهیم بنویسیم،
163
00:10:22,040 –> 00:10:25,790
مثلاً بیایید قبل از اینکه API را برای آن مشخص
164
00:10:25,790 –> 00:10:27,740
کنیم. حتی برای شروع، من میخواهم
165
00:10:27,740 –> 00:10:29,030
یک دسته از امضاهای تابع مانند را بنویسم
166
00:10:29,030 –> 00:10:31,970
، بنابراین
167
00:10:31,970 –> 00:10:33,080
ایدههایی وجود دارد که میخواهم از چه چیزی
168
00:10:33,080 –> 00:10:36,500
نیاز داشته باشیم، و به هر حال، ما
169
00:10:36,500 –> 00:10:38,390
از پایتون خالص در اینجا استفاده میکنیم، زمانی که قرار نیست برویم.
170
00:10:38,390 –> 00:10:43,660
برای استفاده از هر پاندا یا برای این
171
00:10:45,220 –> 00:10:47,930
کار، احتمالاً باید فایل را بخوانیم،
172
00:10:47,930 –> 00:10:51,850
نه
173
00:10:51,880 –> 00:10:55,750
خوب، بنابراین من دارم
174
00:11:08,600 –> 00:11:13,220
یک فایل CSV را می
175
00:11:18,660 –> 00:11:22,080
خوانم و حتی می خواهم آنچه
176
00:11:22,080 –> 00:11:25,650
را که برای انجام رشته های اسناد بازمی گرداند، توضیح دهم.
177
00:11:25,650 –> 00:11:27,870
178
00:11:27,870 –> 00:11:30,330
فرمت کامل با Sphinx مانند یک
179
00:11:30,330 –> 00:11:32,160
قالب کاملاً خاص برای نحوه نوشتن این موارد است
180
00:11:32,160 –> 00:11:34,860
که میتوانید درباره آن بخوانید، اما
181
00:11:34,860 –> 00:11:36,300
به شما امکان میدهد مانند این
182
00:11:36,300 –> 00:11:38,670
آرگومانها بگویید این همان چیزی است که برمیگرداند، بسیاری
183
00:11:38,670 –> 00:11:40,560
از آنها میتوانند مانند حاشیهنویسیهای نوع پایتون جدید
184
00:11:40,560 –> 00:11:44,370
استفاده کنند. یا آنها دارند آنها O خود را دارند
185
00:11:44,370 –> 00:11:47,310
روش wn برای تعیین انواع و مواردی
186
00:11:47,310 –> 00:11:48,930
که می توانید در اینجا قرار دهید تا کاربران
187
00:11:48,930 –> 00:11:51,240
بدانند مانند این آرگومان چنین
188
00:11:51,240 –> 00:11:52,710
چیزی است که انتظار می رود این آرگومان
189
00:11:52,710 –> 00:11:54,450
یک عدد
190
00:11:54,450 –> 00:11:54,960
191
00:11:54,960 –> 00:12:06,300
باشد. بازگشت اگر
192
00:12:06,300 –> 00:12:10,710
اشیاء فایل ما می خواهیم گزینه لیست
193
00:12:10,710 –> 00:12:11,400
لیست ها
194
00:12:11,400 –> 00:12:16,230
خوب لیست دیکته ها همه پیشنهادات خوب
195
00:12:16,230 –> 00:12:18,240
مانند همه چیز مبادله است
196
00:12:18,240 –> 00:12:22,110
پاسخ درستی وجود ندارد من با
197
00:12:22,110 –> 00:12:24,870
لیستی از فرهنگ لغت می روم که در آن هر
198
00:12:24,870 –> 00:12:27,000
فرهنگ لغت نشان دهنده یکی از ردیف ها است.
199
00:12:27,000 –> 00:12:29,850
از فایل و با نام ستون کلید می خورد، بسیار
200
00:12:29,850 –> 00:12:32,450
201
00:12:46,160 –> 00:12:49,880
خوب، بنابراین
202
00:12:49,880 –> 00:12:52,670
ما داده های خود را بارگذاری
203
00:12:52,670 –> 00:12:59,030
204
00:12:59,030 –> 00:13:06,970
205
00:13:06,970 –> 00:13:09,650
کرده ایم. میخواهید این دستهبندیهای ریسک را جمع آوری کنید،
206
00:13:09,650 –> 00:13:14,060
نه هر ردیف یک دسته ریسک،
207
00:13:14,060 –> 00:13:19,700
بلکه به چند
208
00:13:19,700 –> 00:13:25,430
چیز مربوط میشود، به نظر میرسد که این دو ردیف دارای
209
00:13:25,430 –> 00:13:28,010
یک نوع بازرسی از مالکیت جدید یا
210
00:13:28,010 –> 00:13:29,780
بازرسی مجدد هستند و به نظر
211
00:13:29,780 –> 00:13:34,310
نمیرسد این دستهها با دستههای ریسک همراه باشند و سپس
212
00:13:34,310 –> 00:13:37,940
هفتم در ردیف آنها امتیاز کاملی به دست آوردند، به طوری
213
00:13:37,940 –> 00:13:40,370
که با دسته ریسک همراه
214
00:13:40,370 –> 00:13:43,910
نبودند، بنابراین
215
00:13:43,910 –> 00:13:45,770
216
00:13:45,770 –> 00:13:47,480
برای جمع کردن این
217
00:13:47,480 –> 00:13:50,210
دسته بندی های خطر که می خواهیم، باید بخواهیم مانند آنچه که می خواهیم فیلتر کن
218
00:13:50,210 –> 00:13:52,580
م. نوع بازرسی را تا ردیفهایی که
219
00:13:52,580 –> 00:13:56,930
دارای این نوع بازرسی برنامهریزی نشده معمولی هستند، فیلتر کنید،
220
00:13:56,930 –> 00:14:00,890
زیرا فقط آن ردیفها دارای این نوع هستند
221
00:14:00,890 –> 00:14:04,910
که شامل این ردیفها نیز میشود که در
222
00:14:04,910 –> 00:14:06,020
آن نمره کامل را به دست آوردهاند، اما در
223
00:14:06,020 –> 00:14:07,370
واقع اطلاعاتی است که ما میخواهیم ضبط
224
00:14:07,370 –> 00:14:08,960
کنیم، بنابراین آن ردیفها را حفظ میکنیم. و
225
00:14:08,960 –> 00:14:15,620
بعداً آن را بفهمم و بنابراین من ممکن
226
00:14:15,620 –> 00:14:20,600
است مانند نوع بازرسی فیلتری داشته باشم که
227
00:14:20,600 –> 00:14:23,600
در آن داده ها
228
00:14:23,600 –> 00:14:28,810
و نوع بازرسی را ارسال می کنیم و
229
00:15:00,510 –> 00:15:03,389
مشکلی ندارد، بنابراین اکنون می توانیم مجموعه داده ها
230
00:15:03,389 –> 00:15:05,940
را به خوبی کاهش دهیم وقتی این را نوشتیم،
231
00:15:05,940 –> 00:15:07,529
می توانیم مقدار را کاهش دهیم. دادهها را فقط روی
232
00:15:07,529 –> 00:15:09,149
ردیفهایی تنظیم میکند که دادههای مورد علاقه
233
00:15:09,149 –> 00:15:12,570
ما را دارند، چیز مفیدی که هنوز تمام نشده است،
234
00:15:12,570 –> 00:15:14,040
زیرا میخواهیم این کار را به
235
00:15:14,040 –> 00:15:16,740
صورت ماهانه انجام دهیم، بنابراین باید
236
00:15:16,740 –> 00:15:19,920
بتوانیم دادهها را تا یک ماه فیلتر کنیم. تا
237
00:15:19,920 –> 00:15:22,399
تاریخ معینی
238
00:15:33,230 –> 00:15:36,029
که می توانستید داشته باشید api های مختلف
239
00:15:36,029 –> 00:15:41,040
برای ماه و روز درست است، می
240
00:15:41,040 –> 00:15:43,050
توانیم بگوییم زمان تاریخ یا شی تاریخ
241
00:15:43,050 –> 00:15:46,279
یا چیزی که می خواهیم با
242
00:15:46,279 –> 00:15:50,309
رشته هایی برای این یا اعداد صحیح
243
00:15:50,309 –> 00:15:52,970
استفاده کنیم،
244
00:16:05,959 –> 00:16:08,159
در ضمن اگر کنجکاو هستید، این
245
00:16:08,159 –> 00:16:12,029
پایتون معتبر مانند این یک تعریف تابع پایتون معتبر است،
246
00:16:12,029 –> 00:16:15,059
247
00:16:15,059 –> 00:16:16,679
اگر یک رشته سند دارید در اینجا نیازی به کد ندارید،
248
00:16:16,679 –> 00:16:24,499
بنابراین ما میتوانیم آن را فیلتر کنیم
249
00:16:24,499 –> 00:16:27,839
تا اساساً مانند این که میتوانیم
250
00:16:27,839 –> 00:16:29,549
این را فقط به ردیفهایی که میخواهیم شمارش کنیم فیلتر کنیم.
251
00:16:29,549 –> 00:16:33,689
اکنون ما برای هر ایده ای آماده
252
00:16:33,689 –> 00:16:41,279
253
00:16:41,279 –> 00:16:54,479
254
00:16:54,479 –> 00:16:55,949
255
00:16:55,949 –> 00:16:58,049
256
00:16:58,049 –> 00:16:59,489
هستیم. «
257
00:16:59,489 –> 00:17:01,769
نیاز به گره زدن همه چیز به یکدیگر است،
258
00:17:01,769 –> 00:17:06,509
جایی که میرود، اما کاربرد
259
00:17:06,509 –> 00:17:08,339
نوع شکستن چیزها به این صورت
260
00:17:08,339 –> 00:17:11,128
است که میتوانید از آنها در عملکردهای مختلف سطح بالاتر استفاده مجدد کنید
261
00:17:11,128 –> 00:17:12,868
که به
262
00:17:12,868 –> 00:17:15,589
روشهای مختلفی به چیزها متصل میشوند،
263
00:17:15,589 –> 00:17:18,138
به عنوان مثال، قابلیت فیلتر کردن
264
00:17:18,138 –> 00:17:20,970
نوع بازرسی e و تاریخ فیلتر را میتوان به
265
00:17:20,970 –> 00:17:23,069
روشهای مختلفی ترکیب کرد، ممکن است
266
00:17:23,069 –> 00:17:24,689
برنامههایی داشته باشید که میخواهید یکی را انجام دهید
267
00:17:24,689 –> 00:17:26,759
اما دیگری را نه برنامه ما
268
00:17:26,759 –> 00:17:31,830
میخواهیم هر دو را انجام دهیم، بنابراین به آن
269
00:17:31,830 –> 00:17:36,289
نوع ترکیب بخشی از این نیز خواهیم رسید.
270
00:17:36,289 –> 00:17:38,730
به این فکر میکردم که آیا
271
00:17:38,730 –> 00:17:40,679
باید بشماریم، داریم آن دستههای خطر را
272
00:17:40,679 –> 00:17:42,179
میشماریم، بنابراین باید کدی بنویسیم
273
00:17:42,179 –> 00:17:44,929
که
274
00:18:14,490 –> 00:18:19,020
هر فکری را در مورد آنچه که این دیکشنری باید برگرداند
275
00:18:20,880 –> 00:18:22,180
276
00:18:22,180 –> 00:18:28,450
277
00:18:28,450 –> 00:18:33,180
حساب
278
00:18:42,160 –> 00:18:46,000
کند. و اکنون فکر میکنم ما واقعاً
279
00:18:46,000 –> 00:18:50,410
آمادهایم تا این
280
00:18:50,410 –> 00:18:58,890
موارد را با دستهبندی خطرات مشابه در ماه پیوند
281
00:18:58,890 –> 00:19:03,940
دهیم، چیزی که در آن ما مانند دادههایی در یک
282
00:19:03,940 –> 00:19:07,380
ماه در سال خواهیم داشت، بسیار
283
00:19:32,440 –> 00:19:34,780
خوب و این تقریباً تا آنجایی است که
284
00:19:34,780 –> 00:19:37,300
من میخواهم. طرحریزی چیزها
285
00:19:37,300 –> 00:19:38,620
بعداً به رابط خط فرمان برمیگردد،
286
00:19:38,620 –> 00:19:41,190
287
00:19:54,360 –> 00:19:55,860
شما چند دقیقه به همه فرصت میدهید
288
00:19:55,860 –> 00:19:57,240
تا به اینجا برسند، اما ما شروع به
289
00:19:57,240 –> 00:20:00,470
نوشتن کد خواهیم کرد
290
00:20:12,930 –> 00:20:15,600
فقط در صورتی که کسی
291
00:20:15,600 –> 00:20:17,520
با ماژول CSV که در پایتون تعبیه
292
00:20:17,520 –> 00:20:19,470
شده است آشنا نباشد. با ما قدم بزنید این اولین
293
00:20:19,470 –> 00:20:23,880
ماژول یک ماژول کوچک دوستداشتنی است،
294
00:20:23,880 –> 00:20:28,830
توصیه میکنم آن را در بالای
295
00:20:28,830 –> 00:20:35,790
فایل تنظیم کنید، میخواهم CSV را وارد کنم و در اینجا در
296
00:20:35,790 –> 00:20:41,040
فایل خواندنی، این داده را بارگذاری کنید، ما به
297
00:20:41,040 –> 00:20:43,260
نوعی این فایل داده را برای شما قید کردهایم، بسیار
298
00:20:43,260 –> 00:20:45,870
خوب است بنابراین ما مجبور نیستیم
299
00:20:45,870 –> 00:20:48,510
هیچ خطای زشتی را در اینجا انجام دهیم یا پاکسازی داده ها را انجام دهیم،
300
00:20:48,510 –> 00:20:51,870
واقعاً خوش شانس است، بله
301
00:20:51,870 –> 00:20:54,590
همیشه
302
00:21:07,680 –> 00:21:10,160
از دیکت خوان CSV استفاده می کنیم
303
00:21:10,160 –> 00:21:14,520
که خوب بود.
304
00:21:14,520 –> 00:21:17,100
305
00:21:17,100 –> 00:21:18,930
نمیتوانید بدون
306
00:21:18,930 –> 00:21:21,600
فرض پیش بروید، اما به
307
00:21:21,600 –> 00:21:23,850
خط اول فایل CSV نگاه میکند و مانند
308
00:21:23,850 –> 00:21:26,610
خط سرصفحه را میخواند، با فرض اینکه یک خط سرصفحه وجود دارد
309
00:21:26,610 –> 00:21:29,610
و به عنوان شما و سپس میتوانید روی آن تکرار
310
00:21:29,610 –> 00:21:32,790
کنید و هر ردیف را به عنوان فرهنگ لغت به شما میدهد.
311
00:21:32,790 –> 00:21:34,290
شما می توانید چیزها
312
00:21:34,290 –> 00:21:40,860
را از آنجا از سربرگ بیرون بکشید و به
313
00:21:40,860 –> 00:21:45,090
راحتی دقیقاً همان چیزی است که ما می خواستیم
314
00:21:45,090 –> 00:21:47,070
مانند دنباله ای از فرهنگ لغت برای هر
315
00:21:47,070 –> 00:21:49,380
ردیف بود، بنابراین این در واقع یک میانبر بسیار سرگرم کننده است
316
00:21:49,380 –> 00:22:02,190
و ما به خوبی کار را انجام داده ایم، بنابراین Pam
317
00:22:02,190 –> 00:22:04,890
منظورم این است که Pam این کار را انجام می دهد. سوال این بود که آیا من
318
00:22:04,890 –> 00:22:08,150
این را درست می فهمم؟
319
00:22:08,900 –> 00:22:10,860
واقعاً من نمی دانم که آیا سؤال شما را کاملاً متوجه شدم،
320
00:22:10,860 –> 00:22:19,950
321
00:22:19,950 –> 00:22:23,520
بله درست است، بنابراین این بسیار شبیه
322
00:22:23,520 –> 00:22:25,290
سؤالات مربوط به پانداها است.
323
00:22:25,290 –> 00:22:29,780
324
00:22:29,780 –> 00:22:33,360
325
00:22:33,360 –> 00:22:35,880
بر اساس برچسبهای بدون ردیف،
326
00:22:35,880 –> 00:22:37,740
که چیز خوبی در مورد یکی از
327
00:22:37,740 –> 00:22:40,050
چیزهای خوب در مورد پانداها است، بنابراین
328
00:22:40,050 –> 00:22:41,160
ما باید همه کارها را اساساً به سختی
329
00:22:41,160 –> 00:22:43,320
انجام دهیم و دوست داریم همه
330
00:22:43,320 –> 00:22:45,360
فیلترها را با حلقه زدن روی
331
00:22:45,360 –> 00:22:49,830
کل مجموعه داده انجام دهیم. این خودمان هستیم و
332
00:22:49,830 –> 00:22:52,080
نمیتوانیم مزایای پانداها
333
00:22:52,080 –> 00:22:54,360
را با نمایهسازی یا با
334
00:22:54,360 –> 00:23:00,960
فیلترهای فانتزی جالب دریافت کنیم، آیا کسی
335
00:23:00,960 –> 00:23:07,130
معتقد است که این کار جواب میدهد،
336
00:23:08,820 –> 00:23:11,290
بنابراین اگر این مورد را
337
00:23:11,290 –> 00:23:18,390
قبل از باز کردن عرض ندیدهاید، مطمئن شوید که اوه اوه
338
00:23:18,390 –> 00:23:19,799
[موسیقی]
339
00:23:19,799 –> 00:23:24,400
فکر می کنم چرا نه، اگر می خواستید
340
00:23:24,400 –> 00:23:27,010
بیرون باشد، باید این کار را
341
00:23:27,010 –> 00:23:30,340
در داخل آن انجام دهید، زیرا
342
00:23:30,340 –> 00:23:33,880
برای باز ماندن به این نیاز دارید، همانطور که باید فایل
343
00:23:33,880 –> 00:23:36,100
را باز نگه دارید در حالی که روی این
344
00:23:36,100 –> 00:23:38,410
خواننده تکرار می کنید، به همین دلیل است که در اینجا وجود دارد.
345
00:23:38,410 –> 00:23:40,570
در غیر این صورت شما باید این
346
00:23:40,570 –> 00:23:43,780
را در یک متغیر وارد کنید و سپس به خارج
347
00:23:43,780 –> 00:23:45,790
از عرض برگردید و آن متغیر
348
00:23:45,790 –> 00:23:48,309
را برگردانید، بسیار خوب است که بازگشتها
349
00:23:48,309 –> 00:23:50,950
در داخل بلوکهای زمینهای که همه
350
00:23:50,950 –> 00:23:54,100
چیزهای مناسب همچنان اتفاق میافتند به هر حال اتفاق میافتد، بنابراین
351
00:23:54,100 –> 00:23:55,630
میخواهم آزمایش کنم که این کار میکند.
352
00:23:55,630 –> 00:24:06,130
درست است، بله، و در صورتی که به نظر بسیار جادویی می رسد،
353
00:24:06,130 –> 00:24:08,799
مانند ایجاد لیست های فراخوانی
354
00:24:08,799 –> 00:24:11,860
در این مورد، زمانی که وقتی یک
355
00:24:11,860 –> 00:24:13,900
خواننده برای dictator ایجاد می کنید، فایل را نمی خواند،
356
00:24:13,900 –> 00:24:16,540
فقط کنترل کننده فایل را جمع می
357
00:24:16,540 –> 00:24:18,040
کند، مانند خط اول را می خواند و بسته بندی
358
00:24:18,040 –> 00:24:19,690
می کند. کنترل کننده فایل، شما هنوز باید
359
00:24:19,690 –> 00:24:21,460
روی فایل تکرار کنید تا تمام
360
00:24:21,460 –> 00:24:24,309
خطوط از آن خارج شود. لیست فراخوانی روی آن
361
00:24:24,309 –> 00:24:26,290
انجام می دهد، لیست فراخوانی روی آن
362
00:24:26,290 –> 00:24:28,419
همه چیز را تکرار می کند و همه آن را در یک لیست بارگیری می کند
363
00:24:28,419 –> 00:24:31,110
364
00:24:33,900 –> 00:24:36,780
و صادقانه بگویم وقتی این کار را کردم
365
00:24:36,780 –> 00:24:38,940
زمانی که برای اولین بار این را
366
00:24:38,940 –> 00:24:40,680
مانند تمرین نوشتیم، فکر میکردم این
367
00:24:40,680 –> 00:24:42,210
خیلی جادویی است و کمی مشکوک
368
00:24:42,210 –> 00:24:45,720
است که کار کند، بنابراین احتمالاً باید
369
00:24:45,720 –> 00:24:53,760
آن را آزمایش کنیم، بنابراین من یک فایل جدید میسازم و
370
00:24:53,760 –> 00:24:57,420
آن را تجزیه و تحلیل آزمایشی مینامیم. که پای تا با این حال
371
00:24:57,420 –> 00:24:59,309
اگر اولین بار فایل خود را درست کردید،
372
00:24:59,309 –> 00:25:02,900
این بار همین کار را انجام دهید،
373
00:25:18,750 –> 00:25:24,390
بنابراین ما باید کد خود را وارد کنیم و
374
00:25:24,390 –> 00:25:29,010
به یک فایل آزمایشی برای اجرا نیاز داریم، به
375
00:25:29,010 –> 00:25:31,049
همین دلیل مجموعه داده های کمی را در آنجا قرار می دهیم،
376
00:25:31,049 –> 00:25:33,299
بنابراین من می خواهم مانند یک متغیر جهانی بسازیم.
377
00:25:33,299 –> 00:25:35,880
در اینجا با فایل آزمایشی، بنابراین من
378
00:25:35,880 –> 00:25:38,309
مجبور نیستم این را بارها بنویسم که
379
00:25:38,309 –> 00:25:50,150
داده های MLS است، بله، بله خوب است،
380
00:25:50,150 –> 00:25:59,330
این را کپی کنید، من فقط
381
00:26:00,380 –> 00:26:03,830
آن را در حالت
382
00:26:07,090 –> 00:26:12,110
سرد قرار می دهم و سپس قرارداد این
383
00:26:12,110 –> 00:26:14,990
فایل های آزمایشی این است که مانند توابع تست خود را بنویسید،
384
00:26:14,990 –> 00:26:16,880
بنابراین
385
00:26:16,880 –> 00:26:18,649
قراردادهای زیادی در مورد آزمایش وجود دارد،
386
00:26:18,649 –> 00:26:20,450
نامگذاری این موارد مهم است، مانند
387
00:26:20,450 –> 00:26:22,669
آزمایشها در فایلهایی که یا
388
00:26:22,669 –> 00:26:24,590
شروع میشوند یا شروع میشوند یا با کلمه test شروع یا پایان
389
00:26:24,590 –> 00:26:29,210
مییابند و سپس در داخل آن تستها در
390
00:26:29,210 –> 00:26:34,100
توابعی که شروع میشوند زندگی میکنند. یا با
391
00:26:34,100 –> 00:26:35,269
کلمه test به پایان برسانید، در واقع من در مورد پایان مطمئن نیستم
392
00:26:35,269 –> 00:26:38,289
، من همیشه آن را در ابتدا قرار میدهم،
393
00:26:38,289 –> 00:26:40,760
یک استثنا برای آن این است که اگر از
394
00:26:40,760 –> 00:26:42,980
چارچوب تست واحد داخلی در
395
00:26:42,980 –> 00:26:45,860
پایتون استفاده کنید، هر چیزی را
396
00:26:45,860 –> 00:26:48,320
که زیر کلاس واحد باشد انتخاب میکند. کلاس تست تست
397
00:26:48,320 –> 00:26:53,659
من ما را دوست ندارم اغلب اوقات کلاسهای تست کردن را برای
398
00:26:53,659 –> 00:26:55,789
تست کردن دوست ندارم و
399
00:26:55,789 –> 00:26:58,309
من واقعاً عاشق تستهای واحد نیستم، بنابراین از تستهای PI استفاده میکنم
400
00:26:58,309 –> 00:26:59,870
و یکی از چیزهای خوب در مورد تست PI
401
00:26:59,870 –> 00:27:01,580
این است که میتوانید توابع بسیار سادهای
402
00:27:01,580 –> 00:27:03,740
برای تستهای خود بنویسید، بنابراین این کاری است که
403
00:27:03,740 –> 00:27:06,830
ما میخواهیم انجام دهیم. بنابراین معمولاً
404
00:27:06,830 –> 00:27:08,899
قرارداد مانند تست است و سپس تابع ما به
405
00:27:08,899 –> 00:27:10,490
نام فایل خواندن خوانده میشود، بنابراین میخواهم بگویم
406
00:27:10,490 –> 00:27:18,500
فایل خوانده شده و وقتی این تست PI را اجرا میکنیم،
407
00:27:18,500 –> 00:27:20,179
مانند این است که به این نگاه کنید و مانند
408
00:27:20,179 –> 00:27:21,889
فایلی پیدا کردم که میگوید تست در
409
00:27:21,889 –> 00:27:23,600
آن است. یک تست و سپس
410
00:27:23,600 –> 00:27:25,309
این فایل را میخواند و پردازش میکند و
411
00:27:25,309 –> 00:27:26,570
تمام تابع با همه توابع را پیدا میکند و
412
00:27:26,570 –> 00:27:28,190
میگوید مانند این توابع همه به
413
00:27:28,190 –> 00:27:29,510
نام خود میگویند اینها مواردی هستند که
414
00:27:29,510 –> 00:27:31,909
من اجرا میکنم و آنها آزمایش خواهند بود، بنابراین
415
00:27:31,909 –> 00:27:35,299
همه بر اساس نامگذاری هستند، بنابراین ما باید
416
00:27:35,299 –> 00:27:42,130
تابع خود را فراخوانی کنیم تا داده ها برابر با تجزیه و تحلیل
417
00:27:42,130 –> 00:27:46,600
فایل خوانده شده باشد، اوه،
418
00:27:50,250 –> 00:27:52,240
بنابراین این شروع خوبی است
419
00:27:52,240 –> 00:27:54,880
اگر این کار را انجام نمی دهیم
420
00:27:54,880 –> 00:27:57,210
و این را متوقف نکنیم و به خط فرمان من برگردیم،
421
00:27:57,210 –> 00:28:02,730
مثلاً تست PI تجزیه و تحلیل شد
422
00:28:02,730 –> 00:28:08,110
سلام، در واقع میگوید یکی از راههایی که
423
00:28:08,110 –> 00:28:11,560
تستهای PI بیان میکنند که ki هستند، عبور کرده است
424
00:28:11,560 –> 00:28:15,280
ثانیاً روشی که تست PI در مورد قبولی و
425
00:28:15,280 –> 00:28:18,130
رد شدن در آزمونها فکر میکند این است که قبولی به معنای
426
00:28:18,130 –> 00:28:24,030
عدم وجود خطا است، بنابراین من چیزی ننوشتم،
427
00:28:24,030 –> 00:28:26,590
ما دوباره برمیگردیم و در یک لحظه چند جمله را مینویسیم
428
00:28:26,590 –> 00:28:30,160
که در واقع میگویند این
429
00:28:30,160 –> 00:28:32,110
چیزها باید درست باشد تا درست باشد. برای این که
430
00:28:32,110 –> 00:28:34,660
قبول شود اما چه چیزی اما می توانید تست
431
00:28:34,660 –> 00:28:36,640
هایی بنویسید که اظهارات ندارند اگر می خواهید مانند
432
00:28:36,640 –> 00:28:39,100
حداقل کد من خطا نداشت همان
433
00:28:39,100 –> 00:28:43,060
چیزی است که این می گوید و به عنوان قبولی
434
00:28:43,060 –> 00:28:48,270
محسوب می شود زیرا هیچ خطایی رخ نداده و
435
00:28:48,270 –> 00:28:51,670
اغلب آزمایش می کنم. نمی دانم که آیا PI این را آزمایش
436
00:28:51,670 –> 00:28:53,620
می کند، فکر می کنم بین تست ها
437
00:28:53,620 –> 00:28:56,200
یا شکست ها و خطاها تمایز قائل می شود. خرابی ها
438
00:28:56,200 –> 00:28:58,510
معمولاً خطاهای ادعایی هستند زیرا
439
00:28:58,510 –> 00:29:00,880
وقتی
440
00:29:00,880 –> 00:29:04,540
ادعاها نادرست هستند، اظهارات و ادعاها را می نویسیم، آنها یک
441
00:29:04,540 –> 00:29:07,030
خطای ادعا را ایجاد می کنند و سپس این یک
442
00:29:07,030 –> 00:29:08,980
شکست تست است زیرا شما ادعا
443
00:29:08,980 –> 00:29:11,620
درست نبود و سپس انواع دیگری از خطاهایی
444
00:29:11,620 –> 00:29:13,960
که ممکن است رخ دهد، زیرا کد شما
445
00:29:13,960 –> 00:29:17,080
باگ دارد یا اتفاقی افتاده است، خطاهای
446
00:29:17,080 –> 00:29:19,060
ما مانند این است که به ادعاها مربوط نمی شود
447
00:29:19,060 –> 00:29:20,980
و تست ها و
448
00:29:20,980 –> 00:29:24,340
اصطلاحات شما واقعاً خوب است، بنابراین بیایید ادعا کنیم
449
00:29:24,340 –> 00:29:35,680
برخی چیزها اگر به این فایل زیرمجموعه نگاه
450
00:29:35,680 –> 00:29:40,510
کنم، ده خط به اضافه سربرگ
451
00:29:40,510 –> 00:29:42,580
دارد، بنابراین سرصفحه و ده خط
452
00:29:42,580 –> 00:29:46,450
داده وجود دارد، بنابراین یکی از آزمایشهای ما
453
00:29:46,450 –> 00:29:53,700
میتواند این بار دادههای Len را اثبات کند، این بار
454
00:29:57,580 –> 00:30:00,440
هر ایده دیگری در مورد چیزهایی که آزمایش میکنیم.
455
00:30:00,440 –> 00:30:10,760
و این به چه معناست که
456
00:30:10,760 –> 00:30:22,549
همه دادهها وجود داشته باشند، این
457
00:30:22,549 –> 00:30:23,809
458
00:30:23,809 –> 00:30:25,190
459
00:30:25,190 –> 00:30:29,210
برعکس است.
460
00:30:29,210 –> 00:30:31,909
461
00:30:31,909 –> 00:30:35,960
دادههای موجود در آنها بله بله،
462
00:30:35,960 –> 00:30:37,880
بنابراین ما میتوانیم به
463
00:30:37,880 –> 00:30:53,150
تعداد کلیدها نگاه کنیم، فکر میکنم این مانند 17 کلید است
464
00:30:53,150 –> 00:30:54,919
که کار میکند و فقط برای اینکه به شما نشان
465
00:30:54,919 –> 00:30:57,350
دهم اگر بیرون نیامد چه شکلی است
466
00:30:57,350 –> 00:31:02,900
و بنابراین این چیزی است که به نظر می رسد هنگامی که
467
00:31:02,900 –> 00:31:04,610
شما یک شکست
468
00:31:04,610 –> 00:31:07,970
دارید، چیزهای زیادی را در شما چاپ می کند، بنابراین خطی را برجسته می کند
469
00:31:07,970 –> 00:31:10,520
که در آن ادعا شکست خورده است، اگر
470
00:31:10,520 –> 00:31:12,530
زمانی که چندین ادعا در آزمایشی
471
00:31:12,530 –> 00:31:15,860
مانند این دارید، تنها اولین مورد که
472
00:31:15,860 –> 00:31:18,890
در آن خطایی وجود دارد، به بیرون می پرد. هر
473
00:31:18,890 –> 00:31:20,630
ادعایی که بعد از آن است، حتی نمی
474
00:31:20,630 –> 00:31:22,610
شود تست شده به آنها توجه نمی شود
475
00:31:22,610 –> 00:31:23,929
شما فقط به اولین
476
00:31:23,929 –> 00:31:29,450
شکست ادعایی به عنوان یک سر بالا می رسید و سپس تست های PI
477
00:31:29,450 –> 00:31:32,480
در اینجا در واقع جایگزین می شوند و می
478
00:31:32,480 –> 00:31:36,500
گویند 17 وجود دارد مانند نتایج
479
00:31:36,500 –> 00:31:39,080
این عبارت 17 بود که اینجا نشان می دهد
480
00:31:39,080 –> 00:31:42,500
و سپس 15 از طرف ما و
481
00:31:42,500 –> 00:31:47,630
سپس می گوید 17 برابر است با Len این چیز، بنابراین
482
00:31:47,630 –> 00:31:49,270
نان تست pi در واقع به نوعی ابرداده های زیادی
483
00:31:49,270 –> 00:31:51,679
را در خط فرمان
484
00:31:51,679 –> 00:31:53,090
زمانی که خرابی وجود دارد قرار می دهد تا
485
00:31:53,090 –> 00:31:56,870
بتوانید تشخیص دهید که چه اتفاقی افتاده است و
486
00:31:56,870 –> 00:32:00,070
سعی کنید بفهمید چه اتفاقی در حال رخ دادن است.
487
00:32:00,220 –> 00:32:02,330
امیدوارم امروز فرصتهای زیادی
488
00:32:02,330 –> 00:32:08,780
برای کار با آن داشته باشید و بله، و
489
00:32:08,780 –> 00:32:11,000
میدانید که اگر ما واقعاً میخواهیم این موضوع به
490
00:32:11,000 –> 00:32:15,220
طور کامل انجام شود، میتوانیم
491
00:32:15,220 –> 00:32:19,520
با دست مانند پاسخ مورد
492
00:32:19,520 –> 00:32:21,559
انتظار بنویسیم و ادعا کنیم که آن
493
00:32:21,559 –> 00:32:24,080
دو لیست دقیقاً بودند. به عنوان مثال
494
00:32:24,080 –> 00:32:25,909
، با این مجموعه داده ها دردناک خواهد بود،
495
00:32:25,909 –> 00:32:28,760
اما تابع ما در واقع
496
00:32:28,760 –> 00:32:31,010
هیچ فرضی در مورد مجموعه
497
00:32:31,010 –> 00:32:33,380
داده ندارد.
498
00:32:33,380 –> 00:32:35,840
499
00:32:35,840 –> 00:32:38,870
نتایج
500
00:32:38,870 –> 00:32:41,840
آن بارگذاری را بیان کنید و سپس بگویید
501
00:32:41,840 –> 00:32:43,940
که این فهرست لغت نامه ها برابر با
502
00:32:43,940 –> 00:32:45,559
این فهرست لغت نامه ها است و می گوییم که این
503
00:32:45,559 –> 00:32:48,230
چیزها باید دقیقاً برابر باشند و
504
00:32:48,230 –> 00:32:51,020
اگر بخواهیم این را کمی جلوتر
505
00:32:51,020 –> 00:32:57,530
ببریم، فعلاً با این پیش می رویم.
506
00:32:57,530 –> 00:33:02,210
سوالاتی که تا به حال در مورد این مورد استفاده می کنیم ما از
507
00:33:02,210 –> 00:33:04,480
عنوان مساوی استفاده می کنیم شما می توانید
508
00:33:04,480 –> 00:33:06,440
مقایسه کننده های دیگر را در اینجا انجام دهید می توانید از بیشتر
509
00:33:06,440 –> 00:33:12,230
از کمتر
510
00:33:12,230 –> 00:33:18,470
استفاده کنید.
511
00:33:18,470 –> 00:33:22,220
512
00:33:22,220 –> 00:33:24,500
ماژول تست نقطه numpy که
513
00:33:24,500 –> 00:33:27,020
به شما امکان می دهد انواع ادعاهایی را
514
00:33:27,020 –> 00:33:31,220
بین آرایه ها انجام دهید مانند آرایه اظهار آرایه برابر
515
00:33:31,220 –> 00:33:34,010
آرایه اظهار تقریباً مساوی یا چیزی
516
00:33:34,010 –> 00:33:37,510
شبیه به آن، بنابراین می توانید آزمایش را با
517
00:33:37,510 –> 00:33:40,100
اعداد ممیز شناور انجام دهید، ویژگی خاص خود
518
00:33:40,100 –> 00:33:42,950
است زیرا
519
00:33:42,950 –> 00:33:45,080
نتایج متفاوتی از رایانه
520
00:33:45,080 –> 00:33:50,510
های مختلف و متفاوت دریافت می کنید. بارها در روز so
521
00:33:50,510 –> 00:33:52,730
numpy توابع مفیدی برای گفتن دارد مانند ادعا
522
00:33:52,730 –> 00:33:54,650
می کند که این دو آرایه
523
00:33:54,650 –> 00:33:57,740
در یک تلورانس خاص یکسان هستند، به
524
00:33:57,740 –> 00:34:00,980
عنوان مثال پانداها همچنین برخی از
525
00:34:00,980 –> 00:34:03,950
ابزارهای آزمایشی دارند. دوست دارم ادعا کنیم که سری ها و
526
00:34:03,950 –> 00:34:05,299
فریم های داده با هم برابر هستند، اگرچه
527
00:34:05,299 –> 00:34:06,950
کمی به خوبی پنهان شده اند زیرا به
528
00:34:06,950 –> 00:34:09,770
نوعی بخشی از API عمومی نیستند، من از آنها استفاده می
529
00:34:09,770 –> 00:34:14,869
کنم خوب است، بنابراین اکنون در حال آزمایش است،
530
00:34:14,869 –> 00:34:18,710
می خواهم چیزهایی را تغییر دهم.
531
00:34:18,710 –> 00:34:22,460
کمی و کمی توسعه مبتنی بر آزمایش انجام دهید،
532
00:34:22,460 –> 00:34:24,168
533
00:34:24,168 –> 00:34:26,750
زیرا ما آنقدر
534
00:34:26,750 –> 00:34:31,099
به API فکر کرده ایم که انتظار داریم برای این
535
00:34:31,099 –> 00:34:33,980
توابع بتوانیم برای آنها تست بنویسیم
536
00:34:33,980 –> 00:34:35,960
بدون اینکه تابع واقعی را نوشته
537
00:34:35,960 –> 00:34:38,690
باشیم، می دانیم چه اتفاقی می افتد، می دانیم
538
00:34:38,690 –> 00:34:42,109
که چه چیزی قرار است بیرون بیاید چرا آیا زمانی که کد واقعی را می
539
00:34:42,109 –> 00:34:43,039
نویسید ابتدا تست ها را به
540
00:34:43,039 –> 00:34:45,589
این صورت نمی نویسیم،
541
00:34:45,589 –> 00:34:48,559
542
00:34:48,559 –> 00:34:50,329
با
543
00:34:50,329 –> 00:34:51,799
جابجایی به خط فرمان و
544
00:34:51,799 –> 00:34:55,190
اجرای تست های تست PI که توسط آن تجزیه و تحلیل شده اند، متوجه می شوید که آیا
545
00:34:55,190 –> 00:34:57,349
آن را به درستی انجام داده اید یا نه
546
00:34:57,349 –> 00:34:59,299
خیلی سریع به تست هایی که برایت نوشتی اعتماد کن متوجه می
547
00:34:59,299 –> 00:35:03,890
شوی که تمام کردم و بگذار به شما بگویم که این یک
548
00:35:03,890 –> 00:35:07,369
ضربه واقعا عالی مانند اندورفین است
549
00:35:07,369 –> 00:35:11,839
وقتی که کمی کار می کنید
550
00:35:11,839 –> 00:35:13,730
و سپس آن تست سبز می شود و
551
00:35:13,730 –> 00:35:17,420
شما به زندگی خود ادامه دهید بنابراین از شما میخواهم که
552
00:35:17,420 –> 00:35:22,579
این کار را درست با تابع
553
00:35:22,579 –> 00:35:25,970
نوع بازرسی فیلتر تست نوع بازرسی آزمایشی انجام دهید
554
00:35:25,970 –> 00:35:33,349
و میتوانید آن را وارد کنید
555
00:35:33,349 –> 00:35:36,740
و تابع را فراخوانی کنید زیرا در اینجا وجود دارد
556
00:35:36,740 –> 00:35:39,950
و بدیهی است که تستها
557
00:35:39,950 –> 00:35:41,329
نمیگذرند اما مانند شما خواهید بود. میتوانم واقعاً
558
00:35:41,329 –> 00:35:49,519
آزمایشها را اجرا کنم، فقط در صورتی که
559
00:35:49,519 –> 00:35:55,400
کسی نتواند آزمایشهای PI را اجرا کند، خوب است،
560
00:35:55,400 –> 00:35:58,390
من چند نفر دارم
561
00:36:14,270 –> 00:36:18,280
که خوب میآیند، بنابراین این کار کوچک من در یک آزمایش است
562
00:36:18,280 –> 00:36:22,970
که میخواهم بگویم که به آن نیازی ندارم.
563
00:36:22,970 –> 00:36:25,190
بسیاری از دادههای اضافی در دادههای من
564
00:36:25,190 –> 00:36:26,690
برای آزمایش این موضوع، من واقعاً فقط
565
00:36:26,690 –> 00:36:28,940
نگران این یک ستون هستم، بنابراین دادههای آزمایشی من
566
00:36:28,940 –> 00:36:33,940
میتواند حداقل باشد و
567
00:36:33,940 –> 00:36:36,470
لزوماً نیازی نیست دقیقاً شبیه دادههای تولید واقعی من باشد.
568
00:36:36,470 –> 00:36:40,310
569
00:36:40,310 –> 00:36:43,970
مطمئناً بسته به
570
00:36:43,970 –> 00:36:45,830
برنامه کاربردی که ممکن است بگویید اکنون ما
571
00:36:45,830 –> 00:36:47,180
واقعاً باید داده های تولید را
572
00:36:47,180 –> 00:36:49,430
از طریق این یا داده هایی مانند تولید
573
00:36:49,430 –> 00:36:51,920
از طریق این اجرا کنیم تا در
574
00:36:51,920 –> 00:36:55,070
مورد این ادعاها احساس اطمینان کنیم، بنابراین این
575
00:36:55,070 –> 00:36:55,910
چیزی است که باید
576
00:36:55,910 –> 00:36:58,369
بر اساس آن پیچیدگی به آن فکر کنید. از کاری
577
00:36:58,369 –> 00:37:01,250
که انجام می دهد
578
00:37:01,250 –> 00:37:03,110
من در اینجا کار فوق العاده پیچیده ای انجام نمی دهم، بنابراین با
579
00:37:03,110 –> 00:37:05,180
حداقل تست های مختصر در اینجا احساس خوبی دارم،
580
00:37:05,180 –> 00:37:08,090
اما جنبه دیگر آن این است
581
00:37:08,090 –> 00:37:10,700
که ما می توانیم به جای اینکه در اینجا
582
00:37:10,700 –> 00:37:13,369
از تولید مانند داده ها استفاده می کنیم،
583
00:37:13,369 –> 00:37:16,130
نوشتن در اینجا دردناک تر بود. یک ادعای دقیق بود
584
00:37:16,130 –> 00:37:17,660
و ما به
585
00:37:17,660 –> 00:37:22,640
نوعی ادعاهایی در مورد داده هایی انجام می دادیم که کمی شبیه به داده ها بود.
586
00:37:22,640 –> 00:37:24,920
587
00:37:24,920 –> 00:37:26,740
588
00:37:26,740 –> 00:37:29,240
589
00:37:29,240 –> 00:37:31,490
590
00:37:31,490 –> 00:37:34,040
آنها از نظر طول و ارزش دوباره با هم مقایسه خواهند شد
591
00:37:34,040 –> 00:37:39,890
592
00:37:39,890 –> 00:37:40,700
593
00:37:40,700 –> 00:37:44,380
، هیچ پاسخ درستی وجود ندارد
594
00:37:49,980 –> 00:37:52,710
و من یک ادعای ادعایی دریافت می کنم، بنابراین
595
00:37:52,710 –> 00:37:54,570
ما چیزی در
596
00:37:54,570 –> 00:37:58,020
تابع خود ننوشته ایم، بنابراین تابع ما هیچ کدام را برمی گرداند، بنابراین
597
00:37:58,020 –> 00:38:05,700
دریافت کنید اما خوب اجرا شد و اکنون
598
00:38:05,700 –> 00:38:08,310
میتوانم بگویم بسیار خوب، این مجموعه از تستها، مثلاً
599
00:38:08,310 –> 00:38:10,859
API را که انتظار داشتم برای این تابع بنویسم، به طور کامل مشخص میکند
600
00:38:10,859 –> 00:38:15,119
یا آیا
601
00:38:15,119 –> 00:38:16,680
کسی به نظرش میرسد مانند
602
00:38:16,680 –> 00:38:19,820
تستهای مختلفی که میتوانند روی این
603
00:38:36,930 –> 00:38:40,950
mmm انجام دهند، اما این در اینجا تست شده است.
604
00:38:40,950 –> 00:38:45,030
به طور ضمنی مانند اگر نتیجه
605
00:38:45,030 –> 00:38:48,059
این طولی غیر از دو داشته باشد، این دو
606
00:38:48,059 –> 00:38:51,569
با هم مقایسه نخواهند شد، بنابراین شما
607
00:38:51,569 –> 00:38:53,640
همچنان به شما اطلاع داده می شود، حتی اگر
608
00:38:53,640 –> 00:38:56,160
این مورد با مقدار مناسب بازگردد،
609
00:38:56,160 –> 00:38:58,200
اما سه مورد از آنها این مقدار را نشان می دهد.
610
00:38:58,200 –> 00:39:00,420
هنوز یک خطای ادعا است زیرا
611
00:39:00,420 –> 00:39:04,140
طول ها یکسان نبودند من در
612
00:39:04,140 –> 00:39:09,079
مورد برخی از صفحات پیشنهاد سوال فکر می کردم،
613
00:39:10,010 –> 00:39:12,300
بله، این یک صفحه خوب است مانند یک
614
00:39:12,300 –> 00:39:15,119
مورد لبه مانند چیزی که شما در یک لیست خالی عبور می دهید،
615
00:39:15,119 –> 00:39:18,119
مانند آنچه است، بنابراین ابتدا باید
616
00:39:18,119 –> 00:39:18,869
فکر کنید
617
00:39:18,869 –> 00:39:21,420
وقتی کاربر این کار را انجام میدهد و سپس
618
00:39:21,420 –> 00:39:23,640
اظهار میکند که عملکرد شما این کار را
619
00:39:23,640 –> 00:39:33,380
انجام میدهد، رفتار مناسب چیست، بنابراین ما ممکن است مانند یک ادعا در یک
620
00:39:33,380 –> 00:39:39,300
لیست خالی، یک لیست خالی را به
621
00:39:39,300 –> 00:39:45,480
عنوان مثال برگرداند یا اگر من فکر نمیکنم رسیدگی به خطا باشد.
622
00:39:45,480 –> 00:39:46,829
باید هر گونه خطای خاصی را برای
623
00:39:46,829 –> 00:39:49,140
رسیدگی به این موضوع در حال حاضر قرار دهید، اما
624
00:39:49,140 –> 00:39:52,260
اگر نوع بازرسی مشخص شده در اینجا
625
00:39:52,260 –> 00:39:54,930
در لیست وجود نداشته باشد،
626
00:39:54,930 –> 00:39:56,849
یک لیست خالی برای مثال دریافت خواهید کرد که
627
00:39:56,849 –> 00:39:58,470
ممکن است چیز دیگری برای آزمایش باشد، در واقع
628
00:39:58,470 –> 00:40:01,849
مثل اوکی
629
00:40:06,960 –> 00:40:11,970
انجام شد. چیزی که نیست همچنین
630
00:40:11,970 –> 00:40:14,700
یک لیست خالی برمی گرداند، بنابراین به این موارد
631
00:40:14,700 –> 00:40:16,530
می گویند آزمایش های مسیر شاد
632
00:40:16,530 –> 00:40:20,640
مانند داده هایی را قرار می دهیم که
633
00:40:20,640 –> 00:40:24,380
انتظار داریم در تابع کار کنند و
634
00:40:24,380 –> 00:40:26,609
انتظار داریم که عملکرد همانطور که
635
00:40:26,609 –> 00:40:29,700
انتظار می رود و همانطور که انتظار می رود کار
636
00:40:29,700 –> 00:40:31,650
کند، همچنین خوب است در مورد آن فکر کنید.
637
00:40:31,650 –> 00:40:35,400
موارد لبه و اینکه چگونه ممکن است اشتباه برود
638
00:40:35,400 –> 00:40:39,300
مواردی مانند هیچ داده ای هستند، به
639
00:40:39,300 –> 00:40:43,349
عنوان مثال مثال خوبی از یک مورد لبه یا داده های از دست رفته
640
00:40:43,349 –> 00:40:46,280
است و به نوعی به آن فکر کنید
641
00:40:46,280 –> 00:40:51,119
و ممکن است تصمیم بگیرید در قرار دادن
642
00:40:51,119 –> 00:40:53,250
مجموعه داده خالی خطایی است که می خواهید انجام دهید. مانند
643
00:40:53,250 –> 00:40:54,599
ایجاد خطا در موردی که
644
00:40:54,599 –> 00:40:57,510
در برخی موقعیتها انتخاب قابل قبولی است، بنابراین
645
00:40:57,510 –> 00:40:58,890
شما میتوانید در مورد آن ادعا کنید
646
00:40:58,890 –> 00:41:01,619
و بگویید مانند من API عمومی برای این
647
00:41:01,619 –> 00:41:04,170
تابع این است که وقتی
648
00:41:04,170 –> 00:41:05,910
یک مجموعه داده خالی را قرار میدهید خطایی ایجاد میکند و سپس آن
649
00:41:05,910 –> 00:41:07,260
را آزمایش میکنید. این اتفاق میافتد تا
650
00:41:07,260 –> 00:41:09,599
مهندس که بعداً میآید دوست ندارد
651
00:41:09,599 –> 00:41:11,819
به عملکرد شما نگاه کند
652
00:41:11,819 –> 00:41:13,680
و مانند این خطا چیست،
653
00:41:13,680 –> 00:41:15,270
باید یک لیست خالی را زمانی که بدون داده ارسال میکنند برگردانیم
654
00:41:15,270 –> 00:41:18,750
و آن را بدون
655
00:41:18,750 –> 00:41:20,579
کدام نوع wh تغییر دهیم. ich تغییری در
656
00:41:20,579 –> 00:41:24,599
API عمومی کد شما است که اینطور نیست که
657
00:41:24,599 –> 00:41:26,549
آزمایش شما آن را پیدا کند و
658
00:41:26,549 –> 00:41:28,530
مهندس مانند آه مانند این
659
00:41:28,530 –> 00:41:30,720
آزمایش شده بود و ما قصد
660
00:41:30,720 –> 00:41:32,579
داشتیم این مورد را داشته باشیم و مانند شما باشد.
661
00:41:32,579 –> 00:41:33,809
میتوانست آن را تغییر دهد، اما باید بدانید که
662
00:41:33,809 –> 00:41:36,150
663
00:41:36,150 –> 00:41:42,410
رابط عمومی کد خود را تغییر میدهید خوب است، پس
664
00:41:42,410 –> 00:41:45,900
حالا که آیا کسی مانند
665
00:41:45,900 –> 00:41:47,250
go تابع را بعد از نوشتن آزمایشها نوشته است،
666
00:41:47,250 –> 00:41:50,490
افراد تا چه حد طول میکشند، مثل
667
00:41:50,490 –> 00:41:51,630
بسیاری از افراد. در عملکرد
668
00:41:51,630 –> 00:41:55,730
هم خوب بود، ادامه میدهم و این کار را بهخوبی انجام
669
00:42:09,990 –> 00:42:17,740
میدهم تا ببینم چقدر
670
00:42:17,740 –> 00:42:24,610
رضایتبخش است، بسیار خوب، بنابراین
671
00:42:24,610 –> 00:42:27,040
میتوانیم همین کار را برای ماه فیلتر انجام
672
00:42:27,040 –> 00:42:31,570
دهیم، اگرچه میخواهیم به
673
00:42:31,570 –> 00:42:34,750
دادهها نگاه کنیم. درست است و
674
00:42:34,750 –> 00:42:36,790
میدانم فرمت ماه در دادهها چیست،
675
00:42:36,790 –> 00:42:41,200
من میتوانم اگر این به مردم کمک میکند، این را به راحتی کپی کنم
676
00:42:41,200 –> 00:42:43,620
،
677
00:42:58,760 –> 00:43:00,320
بنابراین برای فیلتر کردن ماه
678
00:43:00,320 –> 00:43:01,430
باید بدانیم که با چه چیزی
679
00:43:01,430 –> 00:43:03,560
در دادهها کار میکنیم.
680
00:43:03,560 –> 00:43:06,260
راه هایی برای انجام این کار درست است
681
00:43:06,260 –> 00:43:08,240
در اینجا در رابط کاربری وب،
682
00:43:08,240 –> 00:43:10,430
این خطرناک است، زیرا شما
683
00:43:10,430 –> 00:43:12,710
هرگز نمیدانید چه تعبیری
684
00:43:12,710 –> 00:43:14,300
به شما نشان میدهند یا دوست ندارید آنچه را که در اینجا به شما نشان میدهند
685
00:43:14,300 –> 00:43:15,920
همان چیزی است که در فایل برای شما ارسال کردهاند
686
00:43:15,920 –> 00:43:18,290
یا اینکه دانلود میکنید، مخصوصاً اگر
687
00:43:18,290 –> 00:43:19,730
این کار را با آن انجام میدهید. چیزهایی مانند اکسل
688
00:43:19,730 –> 00:43:22,599
بسیار خوب است، اگر یک CSV را در اکسل باز
689
00:43:22,599 –> 00:43:25,220
کنید، ممکن است به شما نشان ندهد که در واقع چه چیزی
690
00:43:25,220 –> 00:43:28,390
در فایل است، به لطف اکسل، آن را تفسیر می کند
691
00:43:28,390 –> 00:43:32,630
و بنابراین ما می توانیم
692
00:43:32,630 –> 00:43:38,290
به فایل نگاه کنیم، برای مثال تاریخ
693
00:43:39,970 –> 00:43:42,260
آن ها همه آنها ثابت هستند
694
00:43:42,260 –> 00:43:45,470
ما بررسی کردیم، بنابراین تاریخ مکان اصلی
695
00:43:45,470 –> 00:43:47,810
برای متفاوت بودن چیزها در ردیف های مختلف است،
696
00:43:47,810 –> 00:43:50,440
به خصوص اگر انسان ها داده ها را وارد کرده باشند،
697
00:43:50,440 –> 00:43:55,730
اما در نیمه شب فضا ماه/روز/سال است،
698
00:43:55,730 –> 00:43:58,640
فکر می کنم همه آنها نیمه شب هستند و ما زیاد به آن
699
00:43:58,640 –> 00:43:59,810
اهمیت نمی دهیم. زمانی که ما
700
00:43:59,810 –> 00:44:02,359
به تاریخ اهمیت میدهیم، باید راهی پیدا کنیم تا لایک
701
00:44:02,359 –> 00:44:05,930
را مطابقت دهیم، مانند اینکه کاربر
702
00:44:05,930 –> 00:44:08,390
مواردی را وارد کرده است و دستور انجام
703
00:44:08,390 –> 00:44:17,750
فیلتر کردن را بدهد، اما من میخواهم چیزی
704
00:44:17,750 –> 00:44:21,470
شبیه به این را کپی کنم، بنابراین ممکن است
705
00:44:21,470 –> 00:44:23,570
در واقع موردی باشد که ما میخواهیم ما می خواهیم از
706
00:44:23,570 –> 00:44:26,210
داده های تولید استفاده کنیم زیرا میخواهیم
707
00:44:26,210 –> 00:44:29,180
بدانیم که مانند زمانی که دادههای مشابه با این
708
00:44:29,180 –> 00:44:31,700
فرمت فایل واقعی در
709
00:44:31,700 –> 00:44:35,990
کد ما جریان دارند، اتفاق مورد انتظار رخ میدهد، پس
710
00:44:35,990 –> 00:44:38,869
چه میشود اگر از این دادههای واقعی به
711
00:44:38,869 –> 00:44:41,390
جای دادههای آزمایشی استفاده کنیم، همانطور که من در اینجا دادههای آزمون سختکد شده را انجام دادم و سعی میکنیم
712
00:44:41,390 –> 00:44:45,260
به آن فکر کنیم.
713
00:44:45,260 –> 00:44:48,770
بهترین راه برای انجام این کار در تست PI، بنابراین میتوانیم
714
00:44:48,770 –> 00:44:50,990
این کار را دوباره انجام دهیم، همانطور که ادعا
715
00:44:50,990 –> 00:44:52,640
کردیم این تابع کار میکند، بنابراین میتوانیم انجام دهیم
716
00:44:52,640 –> 00:44:55,220
که تست PI دارای یک سیستم ثابت ویژگیهای واقعا سرگرمکننده است
717
00:44:55,220 –> 00:45:00,140
که در آن میتوانید یک
718
00:45:00,140 –> 00:45:02,900
فیکسچر آزمایشی مانند آن را تنظیم کنید یا
719
00:45:02,900 –> 00:45:05,270
میتواند دادههایی باشد که بارگیری میکنید و توسط چندین آزمایش به اشتراک گذاشته میشوند
720
00:45:05,270 –> 00:45:07,760
و خوب است که به
721
00:45:07,760 –> 00:45:11,569
جای هر بار آن را یک بار بارگیری کنید،
722
00:45:11,569 –> 00:45:13,009
بنابراین من میتوانم به جای خواندن
723
00:45:13,009 –> 00:45:14,449
این فایل برای هر آزمون
724
00:45:14,449 –> 00:45:16,640
، یک بار آن را بخوانیم و سپس آن فهرست
725
00:45:16,640 –> 00:45:18,489
فرهنگ لغت را بین همه به اشتراک بگذارم. بیایید این تستها
726
00:45:18,489 –> 00:45:29,029
را انجام دهیم زیرا تست PI جالب است، بنابراین
727
00:45:29,029 –> 00:45:31,219
باید تستهای PI را در بالا وارد
728
00:45:31,219 –> 00:45:35,059
کنیم و سپس من همیشه عکسها را در بالا قرار میدهم و
729
00:45:35,059 –> 00:45:41,209
از دکوراتور استفاده میکنم تا
730
00:45:41,209 –> 00:45:43,640
چیزی را بهعنوان یک فیکسچر برچسبگذاری کنم و شما
731
00:45:43,640 –> 00:45:48,799
یک تابع بنویسید و من اسمش را می
732
00:45:48,799 –> 00:45:55,640
گذارم داده و چه اگر این تابع را برمی
733
00:45:55,640 –> 00:46:02,529
گرداند مانند فیکسچر شماست، بنابراین من
734
00:46:02,529 –> 00:46:09,259
آن را برگردانم و سپس روشی که شما از فیکسچرها استفاده می کنید
735
00:46:09,259 –> 00:46:13,809
یا یکی از روش های استفاده از فیکسچرها این است
736
00:46:14,380 –> 00:46:19,430
که نام این تابع را به عنوان
737
00:46:19,430 –> 00:46:22,699
آرگومان برای تابع آزمایشی خود قرار دهید و سپس
738
00:46:22,699 –> 00:46:32,509
من می توانم آن را خارج کنم. آن ردیف و من میخواهم
739
00:46:32,509 –> 00:46:35,390
یک استدلال دیگر به این
740
00:46:35,390 –> 00:46:37,880
دکوراتور وارد کنم، در واقع، بنابراین این
741
00:46:37,880 –> 00:46:40,160
محدودههای وسایل ما دارای ماژول دامنههای متفاوتی هستند،
742
00:46:40,160 –> 00:46:43,910
یعنی فقط یک بار این فیکسچر را اجرا کنید
743
00:46:43,910 –> 00:46:45,440
و سپس نتایج را در حافظه پنهان نگه دارید
744
00:46:45,440 –> 00:46:49,640
و از آن مجددا استفاده کنید، که فقط در صورتی ایمن است که هیچ یک
745
00:46:49,640 –> 00:46:50,989
از عملکردهای آزمایشی شما وجود نداشته باشد.
746
00:46:50,989 –> 00:46:53,900
میخواهم آن را تغییر دهم تا به این فکر کنیم که برخی
747
00:46:53,900 –> 00:46:55,579
فکر میکنند پیشفرض فیکسچرهای سطح تابع است،
748
00:46:55,579 –> 00:46:58,309
جایی که تست PI
749
00:46:58,309 –> 00:47:00,440
تجهیزات را برای هر تابع آزمایشی دوباره ارزیابی میکند،
750
00:47:00,440 –> 00:47:05,329
بنابراین باید
751
00:47:05,329 –> 00:47:06,279
مانند قبل عمل کند،
752
00:47:06,279 –> 00:47:09,799
بله، پس حالا که میروم بنویسم. یک
753
00:47:09,799 –> 00:47:16,700
تابع جدید مانند ماه فیلتر تست def
754
00:47:16,700 –> 00:47:18,770
من می توانم در همان مجموعه داده عبور کنم و
755
00:47:18,770 –> 00:47:21,220
756
00:47:36,970 –> 00:47:39,970
757
00:48:00,410 –> 00:48:04,080
خوب کارم را شروع کنم، بنابراین می توانم به این ترتیب
758
00:48:04,080 –> 00:48:05,910
کمی راحت تر به تاریخ ها نگاه کنم و این یک
759
00:48:05,910 –> 00:48:09,540
پسوند متن عالی برای CSV ها نیز هست.
760
00:48:09,540 –> 00:48:11,790
d به CSV که این کار را برای شما انجام می دهد
761
00:48:11,790 –> 00:48:14,340
، چیزی که باید مراقب آن باشید این است
762
00:48:14,340 –> 00:48:16,410
که هنوز یک فایل متنی است و تنها کاری که انجام می دهد این
763
00:48:16,410 –> 00:48:18,150
بود که یک سری فاصله را وارد کنید، بنابراین اگر
764
00:48:18,150 –> 00:48:20,130
آن را ذخیره کنید، همه فضاها را با
765
00:48:20,130 –> 00:48:22,620
فایل شما ذخیره می کند، بنابراین باید در
766
00:48:22,620 –> 00:48:25,440
صورت استفاده از این، قبل از ذخیره آن را لغو کنید، اما
767
00:48:25,440 –> 00:48:26,610
اکنون میتوانم به این تاریخها نگاه کنم و
768
00:48:26,610 –> 00:48:29,520
مثل اینکه خوب است، یک زندانی وجود دارد، زمانی که او در
769
00:48:29,520 –> 00:48:34,620
ماه مه 2017 است، یک زندانی وجود دارد.
770
00:48:34,620 –> 00:48:37,170
771
00:48:37,170 –> 00:48:38,520
772
00:48:38,520 –> 00:48:46,880
من درست
773
00:48:46,880 –> 00:48:50,840
می گویم و می گوییم مانند ادعا
774
00:49:05,520 –> 00:49:09,280
و نمی خواهم این کار را انجام دهم، برای اختصار دوباره از Len استفاده می
775
00:49:09,280 –> 00:49:24,640
کنم و 12 2017
776
00:49:24,640 –> 00:49:29,100
باید مانند سه مورد از آنها به نظر برسد
777
00:49:31,080 –> 00:49:35,670
و سپس چیزی از آن قرار می دهم مانند
778
00:49:35,670 –> 00:49:38,880
1400 و درج کنید که صفر است
779
00:49:38,880 –> 00:49:41,770
در واقع این یک آزمایش آسان است، بنابراین ما
780
00:49:41,770 –> 00:49:44,470
در واقع می توانیم ادعا کنیم که یک لیست خالی وجود دارد که
781
00:49:44,470 –> 00:49:46,920
782
00:49:58,500 –> 00:50:00,690
هر آزمایش دیگری می تواند فکر کند که
783
00:50:00,690 –> 00:50:01,890
آنها می خواهند روی چیزی شبیه به
784
00:50:01,890 –> 00:50:18,359
این انجام دهند بله بله بله بله بنابراین نامگذاری
785
00:50:18,359 –> 00:50:21,900
این نام این تابع باید
786
00:50:21,900 –> 00:50:27,349
با نام این ar مطابقت داشته باشد
787
00:50:49,040 –> 00:50:51,180
مطمئن باشید هنوز خوب است، شما همچنان یک خطا دریافت خواهید کرد،
788
00:50:51,180 –> 00:50:56,900
بله با کتاب ردیابی
789
00:50:56,900 –> 00:50:59,550
درست است، منظورم این است که قبلاً هیچ یک
790
00:50:59,550 –> 00:51:03,839
از
791
00:51:03,839 –> 00:51:07,230
792
00:51:07,230 –> 00:51:11,099
اینها را نداشتید. همچنان دریافت خواهد کرد که
793
00:51:11,099 –> 00:51:12,930
خطاهای ادعا همان چیزی است
794
00:51:12,930 –> 00:51:15,780
که در صورت شکستن آن قبلاً داشتید زیرا
795
00:51:15,780 –> 00:51:20,490
به دلایل دیگری مانند آن
796
00:51:20,490 –> 00:51:23,250
در تابعی که دوست دارید شکسته می شود،
797
00:51:23,250 –> 00:51:24,990
نوع خطا به همان شکلی نشان داده می شود که نشان
798
00:51:24,990 –> 00:51:32,820
داده می شود. قبل از سرد شدن برای این
799
00:51:32,820 –> 00:51:35,430
تاریخها، ما این کار را انجام نمیدهیم، اما
800
00:51:35,430 –> 00:51:40,170
میخواهیم اگر آنها را با خطا در این مورد
801
00:51:40,170 –> 00:51:42,270
یا موارد مشابه بررسی کنیم، مجموعه دادهها را بررسی
802
00:51:42,270 –> 00:51:43,830
کنیم تا مطمئن شویم ماه یک
803
00:51:43,830 –> 00:51:45,599
عدد ماه معتبر است یا چیزی شبیه
804
00:51:45,599 –> 00:51:48,300
به آن، خوب است. چیزهایی برای آزمایش یک چیز جالبی
805
00:51:48,300 –> 00:51:51,210
که تست PI دارد این است که اگر شما اگر
806
00:51:51,210 –> 00:51:53,730
کد شما یک استثنا ایجاد می کند و می
807
00:51:53,730 –> 00:51:55,050
خواهید آزمایش کنید که آن
808
00:51:55,050 –> 00:51:59,910
استثنا را ایجاد می کند، می توانید از این raises
809
00:51:59,910 –> 00:52:02,910
context decorator استفاده کنید و کاری انجام دهید که به
810
00:52:02,910 –> 00:52:07,710
خوبی اشتباه می کنید و سپس در اینجا تماس بگیرید برخی از
811
00:52:07,710 –> 00:52:10,740
کدها و اگر این کار انجام شود، آزمایشی
812
00:52:10,740 –> 00:52:12,080
ناموفق خواهد بود
813
00:52:12,080 –> 00:52:26,990
اتفاقی نمی افتد، من می خواهم
814
00:52:26,990 –> 00:52:29,240
از بقیه این خیلی سریع عبور کنم، اوه بله،
815
00:52:29,240 –> 00:52:32,930
احتمالاً باید استراحت کنیم، بله،
816
00:52:32,930 –> 00:52:34,880
چرا ما یک استراحت سریع انجام نمی دهیم، من می
817
00:52:34,880 –> 00:52:36,260
خواهم یک جورهایی از طریق بقیه
818
00:52:36,260 –> 00:52:37,850
این خیلی سریع ضربه بزنم و سپس من
819
00:52:37,850 –> 00:52:39,290
میخواهم آن را برای همه شما آرام بگذارم تا مجبور نباشیم
820
00:52:39,290 –> 00:52:40,850
این فرآیند را
821
00:52:40,850 –> 00:52:44,540
بارها طی کنیم و سپس به
822
00:52:44,540 –> 00:52:47,570
چیزهای خوب دیگری مانند ورود به
823
00:52:47,570 –> 00:52:49,580
PT b و نمایهسازی میپردازیم. و
824
00:52:49,580 –> 00:52:53,810
رابط خط فرمان خوب است، پس مانند 255 برگردید،
825
00:52:53,810 –> 00:52:56,650
826
00:52:56,650 –> 00:52:58,700
آنها قرار است در جایی میان وعده باشند
827
00:52:58,700 –> 00:53:02,090
، نمی دانم اگر متوجه شدید از
828
00:53:02,090 –> 00:53:08,680
کجا به من اطلاع دهید خوب است، بنابراین من می خواهم
829
00:53:08,680 –> 00:53:15,320
دسته های خطر و یکی از
830
00:53:15,320 –> 00:53:19,730
موارد را بشمارم. آزمایششدهترین و
831
00:53:19,730 –> 00:53:23,060
واقعیترین تکنیکهای مهندسی نرمافزار این است که از کدهایی استفاده میکنند که
832
00:53:23,060 –> 00:53:28,310
دیگران نوشتهاند و
833
00:53:28,310 –> 00:53:32,600
هر بار که منطقی به نظر میرسد، به آن یکی میچسبند،
834
00:53:32,600 –> 00:53:34,580
بنابراین شمارش چیزها و برگرداندن یک
835
00:53:34,580 –> 00:53:36,800
فرهنگ لغت، چیزی در پایتون
836
00:53:36,800 –> 00:53:39,170
به نام شمارنده وجود دارد که یک دیکشنری است و
837
00:53:39,170 –> 00:53:40,400
چیزها را میشمرد. و یک فرهنگ لغت وجود دارد که
838
00:53:40,400 –> 00:53:42,980
من از آن استفاده خواهم کرد و من می خواهم آن را ببینم
839
00:53:42,980 –> 00:53:45,650
اگر کار می کند، نمی دانم درست است یا نه،
840
00:53:45,650 –> 00:53:47,330
مثل اینکه نمی دانم آیا او
841
00:53:47,330 –> 00:53:48,950
دقیقاً همان کاری را که من می خواهم انجام می دهد یا نه، این
842
00:53:48,950 –> 00:53:52,840
مشکل است، من یک تست نوشتم، اما درست مثل
843
00:53:52,840 –> 00:53:56,690
این است که شما چگونه آن را انجام می دهید، من نمی دانم اگر
844
00:53:56,690 –> 00:53:57,920
این کار میکند، میتوانید
845
00:53:57,920 –> 00:54:00,430
آن را به صورت تعاملی انجام دهید،
846
00:54:00,430 –> 00:54:03,740
اما ممکن است کدی بنویسید،
847
00:54:03,740 –> 00:54:05,840
اما اگر کدی را در اینجا بنویسیم، مثل این است که
848
00:54:05,840 –> 00:54:09,680
بیایید یک حلقه دستی انجام دهیم
849
00:54:09,680 –> 00:54:12,710
و دیکشنری را بشماریم و بسازیم و بعد
850
00:54:12,710 –> 00:54:14,600
کسی بیاید. بعداً
851
00:54:14,600 –> 00:54:18,020
یک عکس داغ در محل شما و این است
852
00:54:18,020 –> 00:54:20,210
که ما چه کار میکنیم، بیایید از شمارنده استفاده
853
00:54:20,210 –> 00:54:23,780
کنیم که خیلی بهتر است و آنها این کار را انجام میدهند
854
00:54:23,780 –> 00:54:24,600
و
855
00:54:24,600 –> 00:54:27,720
تستی ننوشتند و برخی از
856
00:54:27,720 –> 00:54:30,660
موارد لبه دارد که آنها آن را تفسیر نکردهاند، زیرا آنها این کار را نکردهاند
857
00:54:30,660 –> 00:54:31,980
. تا آخر فکر نکنید
858
00:54:31,980 –> 00:54:35,880
و حالا کد شما شکسته شده است، مثل اینکه دقیقا همان چیزی است که رایت
859
00:54:35,880 –> 00:54:38,730
شما تست می کند و بنابراین
860
00:54:38,730 –> 00:54:44,010
ما یک تست نوشتیم و وقتی آن تست قبول شد،
861
00:54:44,010 –> 00:54:46,290
مطمئن هستیم که آن را درست انجام داده ایم و
862
00:54:46,290 –> 00:54:48,480
اگر شخص دیگری در
863
00:54:48,480 –> 00:54:50,700
آینده بیاید و تغییر کند. این آزمون ها هنوز
864
00:54:50,700 –> 00:54:52,410
باید قبول شوند یا آزمون ها باید شکست بخورند من
865
00:54:52,410 –> 00:54:54,120
و آنها می گویند خوب این به نوعی ناموفق بود من
866
00:54:54,120 –> 00:54:57,180
انتظار دارم که تست را تغییر دهم هر دوی
867
00:54:57,180 –> 00:54:59,370
آنها منصفانه هستند اما نکته اینجاست
868
00:54:59,370 –> 00:55:00,480
که به کسی اطلاع داده شده که
869
00:55:00,480 –> 00:55:03,660
چیزی تغییر کرده است بنابراین من می خواهم از شمارنده استفاده کنم
870
00:55:03,660 –> 00:55:08,310
و به همین ترتیب از مجموعه های
871
00:55:08,310 –> 00:55:13,080
شمارنده واردات و راه استفاده کنم. کار شمارنده این است
872
00:55:13,080 –> 00:55:18,620
که شما یادم میرود که چگونه کار میکند
873
00:55:18,620 –> 00:55:22,220
شمارنده پایتون،
874
00:55:31,569 –> 00:55:35,420
بنابراین شما یک دنباله به آن میدهید خوب است، بنابراین مانند
875
00:55:35,420 –> 00:55:37,339
این، این نوع چیزها
876
00:55:37,339 –> 00:55:41,259
با کاری که میخواهیم انجام دهیم مطابقت خوبی
877
00:55:42,339 –> 00:55:44,390
به نظر میرسد، بنابراین یک دنباله به آن بدهید و بعد
878
00:55:44,390 –> 00:55:46,700
حساب میشود. یکی از چیزهای شیرینی که
879
00:55:46,700 –> 00:55:48,559
این کار انجام می دهد این است که اگر
880
00:55:48,559 –> 00:55:51,229
چیزی را ندیدید، صفر را دریافت می کنید مانند
881
00:55:51,229 –> 00:55:54,049
ردیف استرالیایی آنها که جالب است، امیدوارم همانطور
882
00:55:54,049 –> 00:55:58,880
که ما در نظر داشتیم عمل کند
883
00:55:58,880 –> 00:56:00,289
و به نظر می رسد مانند یک فرهنگ لغت عمل کند، بنابراین
884
00:56:00,289 –> 00:56:02,739
ما ممکن است میتوانم فقط شمارنده برگشتی را انجام دهم
885
00:56:02,739 –> 00:56:07,309
و سپس دوباره یک لیست را
886
00:56:07,309 –> 00:56:15,619
درک میکنم دسته خطر ردیف در
887
00:56:15,619 –> 00:56:17,979
دادهها
888
00:56:23,770 –> 00:56:31,720
mm بسیار خوب، اوه، باید تابع را فراخوانی کنم
889
00:56:36,130 –> 00:56:43,220
و دادهها را ارسال کنم، بنابراین اینها متفاوت هستند،
890
00:56:43,220 –> 00:56:49,910
بنابراین آزمایشهای PI سعی میکنند
891
00:56:49,910 –> 00:56:52,760
نشان دهند. شما به نوعی تفاوت دارید و بنابراین به
892
00:56:52,760 –> 00:56:54,410
نوعی موارد را در اینجا خلاصه میکنیم، بنابراین دو
893
00:56:54,410 –> 00:56:56,930
چیز یکسان بود، اما
894
00:56:56,930 –> 00:57:02,180
ریسک متوسط دو آه را محاسبه کردیم و سپ
895
00:57:02,180 –> 00:57:07,640
این چیزهای خالی خالی در سمت چپ وجود دا
896
00:57:07,640 –> 00:57:09,530
د که نتیجه عملکرد من است، بن
897
00:57:09,530 –> 00:57:11,210
براین یکی از کلیدها یک رشته خالی است و س
898
00:57:11,210 –> 00:57:13,040
س در سمت راست یکی وجود دارد
899
00:57:13,040 –> 00:57:18,800
که میگوید هیچ تخلفی وجود ندارد، بنابراین من این
900
00:57:18,800 –> 00:57:22,579
را از روی برخی کارها کپی کردم، مانند تنظیم
901
00:57:22,579 –> 00:57:24,710
کردن کدهای مثال، به طوری
902
00:57:24,710 –> 00:57:26,270
که وقتی این کار را انجام دادیم، یادداشتهایی داشته باشیم،
903
00:57:26,270 –> 00:57:29,089
متشکرم آلیسا و
904
00:57:29,089 –> 00:57:32,440
همچنین کمی جلوتر از خودمان است.
905
00:57:32,440 –> 00:57:35,839
متوجه خواهید شد که میگوید مانند – V V که
906
00:57:35,839 –> 00:57:37,550
به معنای پرمخاطب اضافی است،
907
00:57:37,550 –> 00:57:40,000
بنابراین به این معنی است که گاهی اوقات خروجی بیشتری به من
908
00:57:40,000 –> 00:57:42,440
نشان میدهد که خروجی بسیار بیشتری را به شما نشان میدهد
909
00:57:42,440 –> 00:57:44,240
در این مورد واقعاً
910
00:57:44,240 –> 00:57:50,119
خروجی خیلی بیشتری به ما نشان نمیدهد، پس بیایید
911
00:57:50,119 –> 00:57:55,190
به فایل نگاه کنیم. واقعاً سریع و دوست
912
00:57:55,190 –> 00:57:58,490
داشتم بفهمیم چه انتظاری داریم، بنابراین من
913
00:57:58,490 –> 00:58:02,510
انتظار داشتم سه ریسک متوسط و دو خط
914
00:58:02,510 –> 00:58:06,160
کم و سه خطر بالا هم
915
00:58:09,430 –> 00:58:11,380
آنهایی هستند که این نوع بازرسی را دا
916
00:58:11,380 –> 00:58:18,130
ند خوب است، بنابراین این ردیف اول یک نو
917
00:58:18,130 –> 00:58:22,420
برنامهریزی نشده معمولی نیست، اما ما خوب نی
918
00:58:22,420 –> 00:58:24,310
تیم. دادهها را چاپ میکنم، بنابراین من هنوز هم
919
00:58:24,310 –> 00:58:28,930
انتظار دارم که در اینجا نشان داده شود، بنابراین یک
920
00:58:28,930 –> 00:58:32,280
دو سه و
921
00:58:51,150 –> 00:58:54,060
خوب، بنابراین اکنون به دو مورد رسیدهایم که
922
00:58:54,060 –> 00:58:57,360
این دو تفاوت را تغییر میدهند و
923
00:58:57,360 –> 00:58:59,430
یک نوع زوج، بیایید کمی در مورد
924
00:58:59,430 –> 00:59:00,690
اشکال زدایی صحبت کنیم و مخصوصاً مانند آن
925
00:59:00,690 –> 00:59:03,710
با استفاده از دیباگر پایتون
926
00:59:03,710 –> 00:59:07,710
گاهی اوقات وقتی یک آزمایش با
927
00:59:07,710 –> 00:59:09,210
یک خطای ادعا یا نوع دیگری از
928
00:59:09,210 –> 00:59:11,070
خطا با شکست مواجه میشود، در واقع ترجیح میدهید به
929
00:59:11,070 –> 00:59:14,400
نوعی در آن جا در اعلانهای داده ما حضور داشته باشید،
930
00:59:14,400 –> 00:59:18,750
مانند اینکه بفهمید چه اتفاقی میافتد، اگر
931
00:59:18,750 –> 00:59:20,970
میخواهید انجام دهید، میتوانید آن را اضافه کنید. خط
932
00:59:20,970 –> 00:59:24,690
تیره علامت PDP را به تست PI نشان می دهد و
933
00:59:24,690 –> 00:59:27,750
وقتی خطایی وجود دارد ما را وارد یک دستور اشکال
934
00:59:27,750 –> 00:59:29,670
935
00:59:29,670 –> 00:59:31,830
936
00:59:31,830 –> 00:59:38,550
937
00:59:38,550 –> 00:59:45,450
زدایی می کند.
938
00:59:45,450 –> 00:59:51,500
ذهن خود را منفجر کنید، بنابراین PDB کمی
939
00:59:51,500 –> 00:59:57,330
شبیه یک اعلان پایتون است، اما نه کاملاً
940
00:59:57,330 –> 01:00:00,360
مانند یک اعلان پایتون، یکسری
941
01:00:00,360 –> 01:00:02,190
دستورات ویژه در اینجا وجود دارد که می
942
01:00:02,190 –> 01:00:06,750
توانید با کمک آنها را ببینید، بنابراین همه این
943
01:00:06,750 –> 01:00:09,090
دستورات ویژه وجود دارد که می توانید
944
01:00:09,090 –> 01:00:12,090
یک زیرمجموعه را نیز بنویسید. از پایتون دلخواه در اینجا
945
01:00:12,090 –> 01:00:13,830
اما همه چیز آنطور که شما انتظار دارید کار نمی کند،
946
01:00:13,830 –> 01:00:15,210
به خصوص شما نمی توانید چیزهای چند خطی بنویسید
947
01:00:15,210 –> 01:00:18,600
اگر بتوانید همه آنها را در یک خط
948
01:00:18,600 –> 01:00:20,940
قرار دهید، شانس بهتری برای کار کردن دارد
949
01:00:20,940 –> 01:00:23,370
اما در واقع کد در اینجا متوقف می شود و
950
01:00:23,370 –> 01:00:25,800
در واقع می توانید پیشرفت کنید و و موارد دیگر
951
01:00:25,800 –> 01:00:27,870
در این موقعیت فوق العاده
952
01:00:27,870 –> 01:00:29,460
مفید نیست، اما در موقعیت های دیگر می توانید
953
01:00:29,460 –> 01:00:34,860
در واقع یک خط را پیش ببرید یا مانند این که
954
01:00:34,860 –> 01:00:36,840
از پشته بالا بروید، مثلاً اگر در
955
01:00:36,840 –> 01:00:38,190
یک مکان توقف کردید و مثل اوه من در این
956
01:00:38,190 –> 01:00:39,540
تابع هستم، نمی دانم وضعیت چگونه است.
957
01:00:39,540 –> 01:00:41,220
همه چیز در تابع بالا در اینجا وجود دارد،
958
01:00:41,220 –> 01:00:44,250
می توانید به آن سطح بروید و سپس دوباره بالا بروید
959
01:00:44,250 –> 01:00:45,810
و به پایین برگردید و یک جورهایی
960
01:00:45,810 –> 01:00:47,340
از کل پشته عبور کنید و
961
01:00:47,340 –> 01:00:52,410
وضعیت و موارد را بررسی کنید احتمالاً 95٪ از کاری که من
962
01:00:52,410 –> 01:00:55,020
انجام می دهم و اشکال زدا پایتون چاپ
963
01:00:55,020 –> 01:00:59,760
چاپ است. چیزها متغیرها را چاپ می کنند، اما می
964
01:00:59,760 –> 01:01:01,530
تواند مفید باشد که دوست داشته باشید بدانید کجا هستید،
965
01:01:01,530 –> 01:01:04,320
بنابراین دستور لیست
966
01:01:04,320 –> 01:01:06,270
مانند یک تکه کد به شما نشان می دهد
967
01:01:06,270 –> 01:01:08,310
که در اطراف جایی که شما متوقف شده اید، در این
968
01:01:08,310 –> 01:01:11,280
فلش کوچک جایی است که من متوقف شده ام، بنابراین اکنون
969
01:01:11,280 –> 01:01:13,980
می دانم که چه چیزی را دوست دارم. متغیرها در
970
01:01:13,980 –> 01:01:19,020
دسترس من هستند من میتوانم دادههایی را چاپ کنم که نمیخواهم
971
01:01:19,020 –> 01:01:21,750
این کار را انجام دهم که خیلی طولانی است، اما بنابراین
972
01:01:21,750 –> 01:01:23,280
میتوانید آن را تکرار کنید، همچنین میتوانید
973
01:01:23,280 –> 01:01:28,800
آن را به زیبایی چاپ کنید.
974
01:01:28,800 –> 01:01:31,280
975
01:01:31,280 –> 01:01:35,910
976
01:01:35,910 –> 01:01:37,770
نتیجه آزمایش pi قبلاً این را به من نشان داده است، بنابراین
977
01:01:37,770 –> 01:01:39,780
در حال حاضر فوق العاده جدید نیست، اما من
978
01:01:39,780 –> 01:01:44,300
می خواستم به شما نشان دهم که چگونه این کار را انجام دهید و
979
01:01:44,300 –> 01:01:47,430
بله، بنابراین شاید ما واقعاً کنجکاو باشیم
980
01:01:47,430 –> 01:01:50,400
که اینجا کجاست و ما
981
01:01:50,400 –> 01:01:52,350
فایل داده را نداشتیم. چسبی که میتوانیم ببینیم
982
01:01:52,350 –> 01:01:54,890
این از کجا میآید
983
01:01:54,890 –> 01:01:58,260
و بنابراین میخواستیم به دادهها نگاه کنیم و
984
01:01:58,260 –> 01:02:01,020
بنابراین میتوانیم PP را انجام دهیم، ببینیم آیا این
985
01:02:01,020 –> 01:02:04,290
کار میکند و به نوعی تکراری است که
986
01:02:04,290 –> 01:02:07,190
کد انجام میدهد.
987
01:02:07,190 –> 01:02:16,350
من
988
01:02:16,350 –> 01:02:18,030
واقعاً میتوانم به دادههای خام نگاه کنم و
989
01:02:18,030 –> 01:02:21,690
تأیید کنم مانند hey در حقایق مانند یک
990
01:02:21,690 –> 01:02:31,100
رشته خالی یکی از گزینههای موجود در آنجا
991
01:02:31,100 –> 01:02:33,120
است و سپس شما میدانید
992
01:02:33,120 –> 01:02:33,840
که در مورد آن چه کاری باید انجام دهید.
993
01:02:33,840 –> 01:02:37,920
اوم وقتی داشتم به استفاده از آن فکر میکردم این را فراموش کردم.
994
01:02:37,920 –> 01:02:40,740
من صادقانه می گویم
995
01:02:40,740 –> 01:02:43,410
و بنابراین ما در مورد آن چه کاری انجام خواهیم
996
01:02:43,410 –> 01:02:49,350
داد جز اینکه نشان دهیم شما پس بیایید بگوییم
997
01:02:49,350 –> 01:02:51,300
که میخواستید
998
01:02:51,300 –> 01:02:55,770
آن اشکالزدایی را که میخواهید به آن اشکالزدایی وارد شوید را متوقف کنید، نه بهعنوان یک
999
01:02:55,770 –> 01:02:57,150
استثنا، اما در واقع میخواستید این کار را انجام دهید
1000
01:02:57,150 –> 01:02:59,460
مثل اینکه من از آزمایشم برای اجرای کدم استفاده
1001
01:02:59,460 –> 01:03:03,540
میکنم و سپس در جای دیگری در
1002
01:03:03,540 –> 01:03:05,550
اجرا متوقف میشوید تا بتوانید به فایل پایتون خود
1003
01:03:05,550 –> 01:03:07,980
بروید و
1004
01:03:07,980 –> 01:03:11,340
اگر آن
1005
01:03:11,340 –> 01:03:13,440
را اجرا می کنید مانند یک اسکریپت خط فرمان
1006
01:03:13,440 –> 01:03:16,590
یا انجام کارهایی مانند نام فایل پایتون
1007
01:03:16,590 –> 01:03:21,180
نوع کارهایی که انجام می دهید PDB PDB set
1008
01:03:21,180 –> 01:03:25,500
trace را وارد می کنید، به کدی بازگردید که فراخوانی می شود. شما را به
1009
01:03:25,500 –> 01:03:27,950
همان اعلانی که ما
1010
01:03:27,950 –> 01:03:32,790
در این خط کد بودیم می اندازم،
1011
01:03:32,790 –> 01:03:35,700
ابزار دیگری به نام IP DB وجود دارد که به نوعی سرگرم کننده است
1012
01:03:35,700 –> 01:03:37,770
که به
1013
01:03:37,770 –> 01:03:39,900
جای دستور ساده پایتون، در صورتی
1014
01:03:39,900 –> 01:03:43,140
که IP DB را به صورت پیپ نصب کنید، یک اعلان I PI ارائه می دهد. سپس
1015
01:03:43,140 –> 01:03:48,390
این خط را به I PDB تغییر میدهید و
1016
01:03:48,390 –> 01:03:51,690
اگر آن را از طریق تست PI اجرا میکنید و تست PI
1017
01:03:51,690 –> 01:03:56,910
یک تابع ردیابی تنظیمی داشته باشد، این خط را به I PDB
1018
01:03:56,910 –> 01:03:59,700
تغییر میدهید، زیرا تست PI
1019
01:03:59,700 –> 01:04:01,800
خروجیهایی را که
1020
01:04:01,800 –> 01:04:03,450
برنامه شما ایجاد میکند را میگیرد. وقتی تست های خود را اجرا می کنید
1021
01:04:03,450 –> 01:04:06,390
اینطور نیست تن ها متن در
1022
01:04:06,390 –> 01:04:10,500
سراسر صفحه جاری می شود و بنابراین وقتی از
1023
01:04:10,500 –> 01:04:12,240
ردیابی مجموعه آزمایشی PI استفاده می کنید، مطمئن می شود
1024
01:04:12,240 –> 01:04:14,160
که مانند قورت دادن دستور شما در
1025
01:04:14,160 –> 01:04:22,410
زمانی که این اتفاق می افتد نیست، بنابراین اکنون ما در آنجا متوقف شده ایم
1026
01:04:22,410 –> 01:04:26,340
و اکنون می توانیم دوباره
1027
01:04:26,340 –> 01:04:33,510
داده ها را بررسی کنیم و به همین ترتیب نکته ای که
1028
01:04:33,510 –> 01:04:39,030
در اینجا باید به خاطر بسپارید این است که اکنون مانند مرحله بعدی و مرحله بعدی،
1029
01:04:39,030 –> 01:04:41,190
1030
01:04:41,190 –> 01:04:43,530
اگر بخواهید، چیزها واقعاً مفید خواهند بود، بنابراین می توانید در مرحله بعدی
1031
01:04:43,530 –> 01:04:46,020
شما را به خط بعدی فایل منتقل کنید،
1032
01:04:46,020 –> 01:04:48,000
مرحله شما را به دوست داشتن دستورالعمل بعدی پایتون می برد
1033
01:04:48,000 –> 01:04:50,010
که دانه بندی بسیار دقیق تری دارد.
1034
01:04:50,010 –> 01:04:54,210
مانند یک مرحله به طوری که
1035
01:04:54,210 –> 01:04:55,680
اگر تابعی فراخوانی شود،
1036
01:04:55,680 –> 01:04:58,530
در واقع به آن تابع منتقل می شوید، در حالی که
1037
01:04:58,530 –> 01:05:00,690
بعدی از فراخوانی تابع رد
1038
01:05:00,690 –> 01:05:02,580
می شود تا در همان فایل بمانید، مثل
1039
01:05:02,580 –> 01:05:03,810
اینکه آن را رد نمی کند، همچنان اجرا می شود
1040
01:05:03,810 –> 01:05:05,760
اما دریافت خواهید کرد دوباره
1041
01:05:05,760 –> 01:05:09,800
در دستور یک خط به جلو در فایل متوقف شد،
1042
01:05:10,010 –> 01:05:13,770
بنابراین این کار نمیکند، بنابراین
1043
01:05:13,770 –> 01:05:17,040
اکنون به برخی از موارد تست PI برمیگردد، همانطور که من
1044
01:05:17,040 –> 01:05:20,100
آن را به جلو اجرا میکنم، اگر میخواهید ببینید
1045
01:05:20,100 –> 01:05:21,720
که در کجای
1046
01:05:21,720 –> 01:05:24,330
پشته اجرا قرار دارید. دستور Where آیا من
1047
01:05:24,330 –> 01:05:27,480
در حال حاضر مانند عمیق در دنیای تست PI هستم، بنابراین
1048
01:05:27,480 –> 01:05:29,880
وحشی به نظر می رسد
1049
01:05:29,880 –> 01:05:36,130
وای اما در برنامه خودت مثل شما
1050
01:05:36,130 –> 01:05:37,810
می بینید خوب است این تابع به نام
1051
01:05:37,810 –> 01:05:39,099
این تابع به نام این تابع
1052
01:05:39,099 –> 01:05:40,780
به نام این تابع نامیده می شود و حالا
1053
01:05:40,780 –> 01:05:42,070
من کجا هستم و همانطور که گفتم میتوانید از
1054
01:05:42,070 –> 01:05:44,020
دستورات بالا و پایین برای بالا و
1055
01:05:44,020 –> 01:05:46,270
پایین رفتن از طریق آن استفاده کنید و
1056
01:05:46,270 –> 01:05:48,430
1057
01:05:48,430 –> 01:05:53,980
1058
01:05:53,980 –> 01:05:59,050
اگر از IDE مانند PyCharm استفاده میکنید، سؤالات مربوط به تست PI را مانند وضعیت بالای برنامه یا پایین یا جایی در وسط بررسی کنید.
1059
01:05:59,050 –> 01:06:04,060
1060
01:06:04,060 –> 01:06:07,750
ادغامهای فانتزی با تستهای PI و
1061
01:06:07,750 –> 01:06:10,330
خود پایتون
1062
01:06:10,330 –> 01:06:13,390
علاوه بر PDB و I PDB، اشکالزدای دیگری برای Suites وجود دارد که
1063
01:06:13,390 –> 01:06:16,599
افراد از طریق
1064
01:06:16,599 –> 01:06:18,340
قلابهای مختلف به پایتون نوشتهاند، بنابراین اگر
1065
01:06:18,340 –> 01:06:21,790
از IDE مانند pycharm استفاده میکنید،
1066
01:06:21,790 –> 01:06:23,200
چیزهای بسیار زیبایی دارد که در آن میتوانید
1067
01:06:23,200 –> 01:06:25,000
همه متغیرها را به صورت گرافیکی در یک
1068
01:06:25,000 –> 01:06:26,650
محدوده خاص ببینید و دوست دارید
1069
01:06:26,650 –> 01:06:28,990
همه آنها را در یک جدول به شما نشان دهد و همه
1070
01:06:28,990 –> 01:06:30,760
چیزهای فانتزی را به شما نشان دهد، بنابراین گزینههای دیگر
1071
01:06:30,760 –> 01:06:37,540
خیلی خوب هستند، بنابراین چه باید کرد، اما چه باید کرد.
1072
01:06:37,540 –> 01:06:41,380
آن ردیف خالی را ما
1073
01:06:41,380 –> 01:06:44,740
این داده ها را فیلتر نکردیم، بنابراین این یک چیز است که باید
1074
01:06:44,740 –> 01:06:46,270
مراقب آن باشیم که ممکن است
1075
01:06:46,270 –> 01:06:47,140
1076
01:06:47,140 –> 01:06:50,380
ابتدا بخواهیم انجام دهیم و آن را بر اساس نوع بازرسی فیلتر
1077
01:06:50,380 –> 01:06:53,470
نکردیم، بنابراین در واقع ردیف
1078
01:06:53,470 –> 01:06:56,140
هایی را که این نوع را ندارند جمع می کنیم. بازرسیهایی
1079
01:06:56,140 –> 01:06:59,710
که میخواهیم ممکن است کار خوبی
1080
01:06:59,710 –> 01:07:02,190
باشد
1081
01:07:08,290 –> 01:07:17,869
و بعد از آن برنامهریزی نشده روتین انجام میشود که
1082
01:07:17,869 –> 01:07:19,070
در واقع میخواهد آن عدد را
1083
01:07:19,070 –> 01:07:26,590
برگرداند تا فقط یکی از موارد
1084
01:07:26,590 –> 01:07:30,070
با خطر متوسط را از بین ببرد که فر
1085
01:07:35,560 –> 01:07:42,070
موش کردم پرچم PDV را برداریم تا
1086
01:07:42,070 –> 01:07:44,920
نوز بنابراین همه چیز را اجرا کردیم، بنابراین
1087
01:07:44,920 –> 01:07:47,320
هنوز هم بدون نقض است و بنابراین
1088
01:07:47,320 –> 01:07:49,630
آنچه که ما در هنگام کار با این موضوع انجام داده بودیم،
1089
01:07:49,630 –> 01:07:52,900
همانطور که تصمیم گرفتیم خوب باشد،
1090
01:07:52,900 –> 01:07:58,600
ما میخواهیم شمارش کنیم که هیچ چیز گمشده، هیچ
1091
01:07:58,600 –> 01:08:00,430
نقضی نیست، زیرا اینها
1092
01:08:00,430 –> 01:08:03,610
ردیفهایی هستند که دارای نمره کامل و بنابراین
1093
01:08:03,610 –> 01:08:06,070
آنها قرار نمی دهند دسته خطر را ترک می کنند
1094
01:08:06,070 –> 01:08:09,910
آنها را خالی صدا کنید با شمارنده من
1095
01:08:09,910 –> 01:08:20,970
در واقع نمی دانم و اگر شما این کار را انجام دهید
1096
01:08:40,600 –> 01:08:43,069
بنابراین مانند رشته خالی یک
1097
01:08:43,069 –> 01:08:48,948
کلید فرهنگ لغت معتبر است و Python خوب است
1098
01:08:48,948 –> 01:08:51,560
عروسک را بشناسید کلمه کلیدی نحوه حذف
1099
01:08:51,560 –> 01:08:53,810
کلیدهای fr است om یک کلمه کلیدی یا یکی از راه هایی است که
1100
01:08:53,810 –> 01:08:56,170
می توانید موارد را از یک فرهنگ لغت حذف کنید
1101
01:08:56,170 –> 01:08:59,710
، نمی دانم آیا این
1102
01:09:05,890 –> 01:09:09,040
کار دوباره جواب
1103
01:09:09,040 –> 01:09:16,399
1104
01:09:16,399 –> 01:09:19,698
1105
01:09:19,698 –> 01:09:21,738
می دهد یا نه.
1106
01:09:21,738 –> 01:09:23,390
بهجای اینکه یک نقطه در
1107
01:09:23,390 –> 01:09:28,330
کنار نام فایل قرار بگیرد، بهصورت جداگانه آزمایش میکند، بسیار
1108
01:09:28,330 –> 01:09:35,689
جالب است، بنابراین ما کارهای سطح پایین زیادی انجام دادهایم
1109
01:09:35,689 –> 01:09:36,859
و شما ممکن است فکر
1110
01:09:36,859 –> 01:09:38,600
کنید که ما مدتی است کار
1111
01:09:38,600 –> 01:09:41,448
میکنیم و داریم کار میکنیم. مثل نه، ما هنوز
1112
01:09:41,448 –> 01:09:44,229
باید این عملکرد دیگر را انجام دهیم که
1113
01:09:44,229 –> 01:09:49,029
هر ماه فیلتر می شود و حساب ها را خروجی می دهد،
1114
01:09:49,029 –> 01:09:51,589
اما مانند جادوی این کار این است
1115
01:09:51,589 –> 01:09:53,540
که ما قبلاً همه کارها را انجام داده ایم و
1116
01:09:53,540 –> 01:09:55,730
اکنون در نقطه ای هستیم که شبیه به آن هستیم.
1117
01:09:55,730 –> 01:09:59,000
همه چیز را با هم له می کنیم و سپس تمام می کنیم،
1118
01:09:59,000 –> 01:10:02,810
پس شمارش اوم من این را
1119
01:10:02,810 –> 01:10:03,470
برای همیشه آزاد می کنم
1120
01:10:03,470 –> 01:10:06,520
[Music]،
1121
01:10:33,640 –> 01:10:36,200
بنابراین این نکته جالبی است که آیا می
1122
01:10:36,200 –> 01:10:38,420
خواهیم خروجی این را به
1123
01:10:38,420 –> 01:10:44,180
جای شمارنده به دیکشنری تغییر دهیم و
1124
01:10:44,180 –> 01:10:46,070
دوباره فقط تجارت وجود دارد- offs هیچ درستی
1125
01:10:46,070 –> 01:10:51,950
پاسخ مثبت به ترک آن یک
1126
01:10:51,950 –> 01:10:55,670
شمارنده است از دست رفته است مانند وقتی
1127
01:10:55,670 –> 01:10:57,410
از آن می پرسید که چند مورد از این چیزها را دیده اید
1128
01:10:57,410 –> 01:11:00,560
و هیچ کدام را ندیده است،
1129
01:11:00,560 –> 01:11:02,570
به جای اینکه به شما یک خطای کلیدی بدهد،
1130
01:11:02,570 –> 01:11:05,390
1131
01:11:05,390 –> 01:11:08,420
زیرا وجود ندارد، می گوید 0.
1132
01:11:08,420 –> 01:11:11,150
اگر کلیدی را در جایی اشتباه تایپ کرده باشید،
1133
01:11:11,150 –> 01:11:12,860
میگوید من هیچکدام از آنها را ندیدم
1134
01:11:12,860 –> 01:11:14,870
و خطایی دریافت نمیکنید، در حالی که ممکن است
1135
01:11:14,870 –> 01:11:17,990
امیدوار باشید زمانی که این اتفاق میافتد با خطا مواجه شوید
1136
01:11:17,990 –> 01:11:20,210
، باید به آن فکر کنید،
1137
01:11:20,210 –> 01:11:23,180
من آن را همانطور که هست میگذارم اما کاملاً میتوانید
1138
01:11:23,180 –> 01:11:26,140
آن را به یک فرهنگ لغت برگردانید
1139
01:11:36,489 –> 01:11:38,950
، بنابراین اگر سؤال شما را متوجه شدم
1140
01:11:38,950 –> 01:11:42,910
، میپرسید که چرا ما آن را جایگزین میکنیم یا چرا
1141
01:11:42,910 –> 01:11:44,980
این کار را انجام میدهیم در اینجا به جای
1142
01:11:44,980 –> 01:11:48,190
اضافه کردن برابر است، یا در واقع کار میکند
1143
01:11:48,190 –> 01:11:50,680
زیرا این کلید کار نمیکند. اگر وجود داشته
1144
01:11:50,680 –> 01:11:54,760
باشد کار می کند شما می توانید اساساً یک شمارنده را ویرایش کنید
1145
01:11:54,760 –> 01:11:58,870
یا ما می توانیم زیرا شمارنده ها به
1146
01:11:58,870 –> 01:12:03,130
طور خودکار می گویند صفر
1147
01:12:03,130 –> 01:12:05,380
چیزی است که قبلاً آن را ندیده است این
1148
01:12:05,380 –> 01:12:07,510
صفر خواهد بود و ما این را
1149
01:12:07,510 –> 01:12:10,210
به آن اضافه می کنیم و در نهایت یکسان می شود اما
1150
01:12:10,210 –> 01:12:12,130
این روشی برای انجام بیشتر یک نادیده گرفتن به
1151
01:12:12,130 –> 01:12:14,530
جای یک تبلیغ تنظیم دستی
1152
01:12:14,530 –> 01:12:16,540
این دو به صورت یکسان، اساساً موضوع این
1153
01:12:16,540 –> 01:12:18,520
است که ما میخواهیم این کلید را از یک
1154
01:12:18,520 –> 01:12:27,880
رشته خالی به بدون نقض تغییر دهیم، و
1155
01:12:27,880 –> 01:12:30,989
سپس برای کنار هم قرار دادن همه آنها به درستی،
1156
01:12:30,989 –> 01:12:33,750
همه این کارها را انجام دادهایم، بنابراین میتوانیم دوست داشته باشیم تقریباً
1157
01:12:33,750 –> 01:12:38,050
همه چیز را در یک خط در اینجا قرار دهیم. و
1158
01:12:38,050 –> 01:12:41,980
سپس میخواهیم در داخل انجام دهیم،
1159
01:12:41,980 –> 01:12:45,700
میخواهیم یک خط آن را فشار دهیم، خواهیم
1160
01:12:45,700 –> 01:12:51,210
دید و میخواهیم دستههای خطر را بشماریم،
1161
01:12:51,210 –> 01:12:58,290
میخواهیم نوع بازرسی را خیلی
1162
01:12:58,290 –> 01:13:03,510
معمولی
1163
01:13:19,159 –> 01:13:27,199
فیلتر کنیم و سپس میخواهیم تاریخ ماه یک
1164
01:13:27,199 –> 01:13:30,860
ماه سال را فیلتر کنیم. متاسفم که این یک جورایی
1165
01:13:30,860 –> 01:13:33,159
غیرقابل خواندن است
1166
01:13:56,329 –> 01:14:00,550
و سپس ما میتوانیم آن را خیلی سریع آزمایش کنیم،
1167
01:14:32,500 –> 01:14:36,900
بنابراین هیچ خطایی وجود ندارد
1168
01:14:39,930 –> 01:14:49,450
و سپس این باید در پنج سال 2017 باشد
1169
01:14:49,450 –> 01:14:55,240
که در آن تاریخهای من اینجاست، بله، یکی
1170
01:14:55,240 –> 01:14:57,220
فقط یکی بود، در واقع نه، هیچ خطایی وجود نخواهد
1171
01:14:57,220 –> 01:15:04,620
داشت. بیایید 18 را انجام دهیم یک خطر کم
1172
01:15:19,989 –> 01:15:25,119
نه من اشتباه کردم، هیچ نقضی به mmm وجود ندارد، به
1173
01:15:32,150 –> 01:15:35,140
1174
01:15:46,180 –> 01:15:49,470
نظر می رسد یک اشکال است
1175
01:16:04,520 –> 01:16:15,140
که من 52018 انجام دادم و تنها موردی که می بینم آیا
1176
01:16:15,140 –> 01:16:18,500
آنهایی که برنامه ریزی نشده هستند
1177
01:16:18,500 –> 01:16:28,280
یا نه این است که کنجکاو
1178
01:16:28,280 –> 01:16:29,720
هستم، بسیار خوب ما باید اشکال زدایی را انجام دهیم. من
1179
01:16:29,720 –> 01:16:38,720
اشکال زدایی را انجام دادم خیلی زود عمل کنید و
1180
01:16:38,720 –> 01:16:40,670
برای رفع اشکال، ممکن است بخواهیم
1181
01:16:40,670 –> 01:16:42,770
این را کمی به
1182
01:16:42,770 –> 01:16:56,380
مراحل مختلف تقسیم کنیم، اما میتوانیم این کار را نیز انجام دهیم،
1183
01:16:56,380 –> 01:17:00,170
بنابراین من تستهای PI را وارد میکنم و PI زیر ردیابی ما را
1184
01:17:00,170 –> 01:17:02,770
آزمایش
1185
01:17:08,329 –> 01:17:16,040
میکنم، بنابراین اگر فیلتر را فیلتر کنم، آنجا هستیم. ماه، بنابراین
1186
01:17:16,040 –> 01:17:26,780
ما با دو مورد خوب به پایان می رسیم، بنابراین این pp
1187
01:17:26,780 –> 01:17:31,760
است، بنابراین یکی از این ها
1188
01:17:31,760 –> 01:17:34,369
برنامه ریزی نشده
1189
01:17:34,369 –> 01:17:40,070
1190
01:17:40,070 –> 01:17:51,889
1191
01:17:51,889 –> 01:17:53,179
است.
1192
01:17:53,179 –> 01:17:56,650
هر چیزی روی بیش از یک خط
1193
01:18:14,099 –> 01:18:19,099
درست است که درست به نظر می رسد
1194
01:18:35,510 –> 01:18:39,739
، اوه اوکی هی من می بینم که چه
1195
01:18:39,739 –> 01:18:46,250
اتفاقی می افتد، بنابراین وقتی این درست کار می کند و
1196
01:18:46,250 –> 01:18:49,810
در این مورد صفر است، بنابراین اضافه
1197
01:18:49,810 –> 01:18:53,780
می کند که ما در واقع هیچ خطی در این خط
1198
01:18:53,780 –> 01:18:56,030
وجود نداشت. بدون هیچ نقض یا
1199
01:18:56,030 –> 01:18:59,950
چیزهای رشته خالی، اما این در حال اضافه کردن آن بود،
1200
01:18:59,950 –> 01:19:05,150
بنابراین ممکن است بخواهیم بگوییم اگر نتایج نهایی را دوست دارید،
1201
01:19:05,150 –> 01:19:12,820
1202
01:19:22,200 –> 01:19:26,560
اگر میخواهید ادامه دهید آن را رها کنید، اگر میخواهید
1203
01:19:26,560 –> 01:19:28,300
در اشکالزدا متوقف شوید
1204
01:19:28,300 –> 01:19:30,160
فراموش کردم این را ذکر کنم. از Q
1205
01:19:30,160 –> 01:19:33,219
برای خروج از دیباگر استفاده کرده ام C
1206
01:19:33,219 –> 01:19:34,960
ادامه دارد، به این معنی که
1207
01:19:34,960 –> 01:19:37,930
مثل عادی ادامه دهید، پس این کار را انجام دهید و درست گذشت
1208
01:19:37,930 –> 01:19:42,730
و پس از آن فراموش نکنید که
1209
01:19:42,730 –> 01:19:44,560
قبل از اینکه آن را انجام دهید، آن را از روی کد خود بردارید.
1210
01:19:44,560 –> 01:19:47,010
1211
01:20:05,729 –> 01:20:09,820
1212
01:20:09,820 –> 01:20:11,860
1213
01:20:11,860 –> 01:20:15,399
میخواستم از نظر
1214
01:20:15,399 –> 01:20:18,219
عملکردی مانند عملکردی که در ابتدا گفتم
1215
01:20:18,219 –> 01:20:19,419
ما یک
1216
01:20:19,419 –> 01:20:25,479
رابط خط فرمان برای این خط فرمان ایجاد میکنیم،
1217
01:20:25,479 –> 01:20:27,219
اینترفیسها مانند یکی از چیزهای مورد علاقه من
1218
01:20:27,219 –> 01:20:29,229
هستند، زیرا میتوانید
1219
01:20:29,229 –> 01:20:31,329
چیزهای فوقالعاده قدرتمندی مانند اتصال
1220
01:20:31,329 –> 01:20:33,880
به برنامه عالی خود بنویسید. کد
1221
01:20:33,880 –> 01:20:36,880
تقریباً بدون کار، عالی است، مثل اینکه همه
1222
01:20:36,880 –> 01:20:39,729
رابط کاربری گرافیکی میخواهند، نه همه افرادی که در محل کار
1223
01:20:39,729 –> 01:20:43,239
از من میخواهند، کارهای دیویی
1224
01:20:43,239 –> 01:20:47,320
حداقل برای من کار زیادی میطلبد و من خیلی
1225
01:20:47,320 –> 01:20:48,519
ترجیح میدهم یک رابط خط فرمان
1226
01:20:48,519 –> 01:20:49,989
بنویسم، زیرا میتوانم مثل اینکه میخواهم کار کنم.
1227
01:20:49,989 –> 01:20:51,669
شما را مستقیماً به کد من قلاب
1228
01:20:51,669 –> 01:20:54,249
کنم، خیلی خوب می شود که می توانید آن را
1229
01:20:54,249 –> 01:20:58,419
از پوسته اجرا کنید و یک ساعت طول می کشد، بنابراین
1230
01:20:58,419 –> 01:21:00,550
این یک راه عالی برای انجام ابزارها
1231
01:21:00,550 –> 01:21:05,349
برای شما و همکارانتان است و
1232
01:21:05,349 –> 01:21:11,409
آنها بسیار سرگرم کننده هستند، پس امم بیایید آن q واقعی را انجام دهیم
1233
01:21:11,409 –> 01:21:13,119
چند نفر از شما این کار را انجام دادهاید،
1234
01:21:13,119 –> 01:21:14,979
بنابراین ما از ماژول arg parse استفاده میکنیم،
1235
01:21:14,979 –> 01:21:17,199
چند نفر از arg parse استفاده کردهاند،
1236
01:21:17,199 –> 01:21:19,539
در واقع یک بخش بسیار خوب از شما بسیار خوب است،
1237
01:21:19,539 –> 01:21:23,139
بنابراین باید به همسایگان خود کمک کنید،
1238
01:21:23,139 –> 01:21:28,599
همانطور که ما در حال بررسی این موضوع
1239
01:21:28,599 –> 01:21:33,820
هستیم یک فایل جدید بسازید به نام CLI برای
1240
01:21:33,820 –> 01:21:37,689
رابط خط فرمان، آن را
1241
01:21:37,689 –> 01:21:44,829
وارد تجزیه و تحلیل import arg parse می کنم و
1242
01:21:44,829 –> 01:21:47,289
من مانند یک دیگ بخار برای این کار دارم،
1243
01:21:47,289 –> 01:21:50,249
آن را در عرض یک دقیقه برای شما ارسال می کنم،
1244
01:22:42,150 –> 01:22:44,070
بنابراین من همیشه با این
1245
01:22:44,070 –> 01:22:45,630
ساختار سبک برای رابط های خط فرمان شروع می کنم.
1246
01:22:45,630 –> 01:22:48,200
سوال
1247
01:23:01,849 –> 01:23:03,829
و بنابراین من همیشه با این دیگ بخار شروع می
1248
01:23:03,829 –> 01:23:06,020
کنم و ایده خوبی است که
1249
01:23:06,020 –> 01:23:07,610
کد رابط خط فرمان خود را
1250
01:23:07,610 –> 01:23:10,639
کمی جدا از نوع
1251
01:23:10,639 –> 01:23:14,929
کد منطقی خود برای اهداف تمیز نگه دارید،
1252
01:23:14,929 –> 01:23:17,900
می توانید فولاد را
1253
01:23:17,900 –> 01:23:20,060
مانند تست مانند تست کنید. که این
1254
01:23:20,060 –> 01:23:23,210
تابع args که من معمولاً در اینجا دارم مانند یک
1255
01:23:23,210 –> 01:23:28,570
args برابر با هیچ است و سپس آن را اینجا
1256
01:23:28,570 –> 01:23:37,849
و اینجا ارسال می کنم و کاری که این کار انجام می دهد مانند
1257
01:23:37,849 –> 01:23:41,599
args تجزیه لیستی از آرگومان ها را به
1258
01:23:41,599 –> 01:23:45,320
عنوان ورودی می گیرد به صورت اختیاری اگر آن را
1259
01:23:45,320 –> 01:23:48,230
دریافت نکرد، به بیرون می رود. مانند تی او یک
1260
01:23:48,230 –> 01:23:51,679
ابزار کاربردی sistar UV را سیستم می کند که خط فرمانی است
1261
01:23:51,679 –> 01:23:54,310
که برنامه شما با آن فراخوانی شده است،
1262
01:23:54,310