در این مطلب، ویدئو MetPy Mondays #229 – افسانه شکن 5 روشی که به شما گفته شده است تا برنامه پایتون خود را سرعت دهید با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:15:52
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,399 –> 00:00:02,080
همه ما روی کد پایتون خود کار کردهایم
2
00:00:02,080 –> 00:00:04,640
و شنیدیم که یکی میگوید خوب
3
00:00:04,640 –> 00:00:06,640
میدانید چطور میتوانید سریعتر این کد را انجام دهید و
4
00:00:06,640 –> 00:00:08,480
سپس چیزی به ما بگویید و گاهی اوقات آن را
5
00:00:08,480 –> 00:00:10,559
انجام میدهیم گاهی اوقات نه،
6
00:00:10,559 –> 00:00:12,000
اما این هفته در واقع
7
00:00:12,000 –> 00:00:14,719
متوقف میشویم و پنج مورد از متداول ترین
8
00:00:14,719 –> 00:00:16,320
چیزهایی را که شنیده ام مردم می گویند
9
00:00:16,320 –> 00:00:18,160
سرعت کد پایتون خود را امتحان کنید تا ببینم آیا
10
00:00:18,160 –> 00:00:19,680
واقعاً این کار را انجام می دهند یا فقط وقت شما را تلف می کنند.
11
00:00:19,680 –> 00:00:21,840
12
00:00:21,840 –> 00:00:24,840
13
00:00:25,700 –> 00:00:36,399
14
00:00:36,399 –> 00:00:38,160
15
00:00:38,160 –> 00:00:40,399
مهندس نرمافزار برای unidata
16
00:00:40,399 –> 00:00:42,640
این هفته میخواهم به پنج موردی
17
00:00:42,640 –> 00:00:44,800
که اغلب شنیدهام نگاه کنم که مردم
18
00:00:44,800 –> 00:00:46,559
میگویند برای سرعت بخشیدن به کد پایتون خود
19
00:00:46,559 –> 00:00:49,760
میدانید، فقط باید این کار را انجام دهید
20
00:00:49,760 –> 00:00:51,039
و
21
00:00:51,039 –> 00:00:53,199
گاهی اوقات آنها
22
00:00:53,199 –> 00:00:54,800
را بدون آزمایش انجام میدهند و فقط میگویند. خوب
23
00:00:54,800 –> 00:00:56,480
من به من گفته اند که این و این کاری است که می
24
00:00:56,480 –> 00:00:57,520
خواهم انجام دهم
25
00:00:57,520 –> 00:00:58,879
و ما با دانشمندان می دانیم که این
26
00:00:58,879 –> 00:01:00,640
کاری نیست که ما باید انجام دهیم،
27
00:01:00,640 –> 00:01:02,160
بنابراین می خواهیم به این
28
00:01:02,160 –> 00:01:04,319
پنج چیز نگاهی بیندازیم و ببینیم کدام یک ارزش دارند.
29
00:01:04,319 –> 00:01:06,320
به خاطر سپردن و انجام دادن و
30
00:01:06,320 –> 00:01:10,000
اینکه کدام یک تفاوتی ندارد
31
00:01:10,000 –> 00:01:13,520
او ابتدا در حال ساخت رشتهها است،
32
00:01:13,520 –> 00:01:14,960
اکنون همه میدانیم که راههای زیادی وجود دارد
33
00:01:14,960 –> 00:01:17,520
که میتوانید رشتهها را بسازید،
34
00:01:17,520 –> 00:01:18,799
من میخواهم
35
00:01:18,799 –> 00:01:20,960
چند متغیر را در اینجا حداکثر
36
00:01:20,960 –> 00:01:23,200
37
00:01:23,200 –> 00:01:24,799
دمای یک دقیقه را اعلام کنم
38
00:01:24,799 –> 00:01:26,880
و میخواهیم رشتهای را بسازیم که
39
00:01:26,880 –> 00:01:28,320
میگوید
40
00:01:28,320 –> 00:01:30,400
بالاترین دمای
41
00:01:30,400 –> 00:01:33,200
امروز ۲۷ است.
42
00:01:33,200 –> 00:01:35,759
و
43
00:01:35,759 –> 00:01:37,600
کمینه 15
44
00:01:37,600 –> 00:01:38,840
درجه
45
00:01:38,840 –> 00:01:41,280
سانتیگراد است، بنابراین هدف ما این است، چیزی است که میخواهیم
46
00:01:41,280 –> 00:01:43,200
به
47
00:01:43,200 –> 00:01:44,880
خوبی بسازیم به نحوی که شما بتوانید آن را انجام دهید، جایی که
48
00:01:44,880 –> 00:01:47,280
همه به شما میگویند که کند است،
49
00:01:47,280 –> 00:01:50,720
هر چند راهی برای دیدن انجام آن زیاد
50
00:01:50,720 –> 00:01:53,040
است، چیزی شبیه به این است، بنابراین ما استفاده میکنیم وقت آن
51
00:01:53,040 –> 00:01:55,920
است که ببینیم این چیزها چقدر طول میکشد
52
00:01:55,920 –> 00:01:58,399
تا چیزی بگوییم مثلاً زیاد امروزی
53
00:01:58,399 –> 00:02:01,200
به
54
00:02:01,280 –> 00:02:03,119
اضافه
55
00:02:03,119 –> 00:02:06,000
رشته حداکثر t
56
00:02:07,360 –> 00:02:09,360
به اضافه
57
00:02:09,360 –> 00:02:12,959
و کم آن
58
00:02:13,280 –> 00:02:14,879
به اضافه رشته
59
00:02:14,879 –> 00:02:17,040
مردان t
60
00:02:17,040 –> 00:02:18,640
به اضافه
61
00:02:18,640 –> 00:02:19,680
فاصله
62
00:02:19,680 –> 00:02:22,879
dag c
63
00:02:22,879 –> 00:02:24,959
64
00:02:24,959 –> 00:02:26,480
65
00:02:26,480 –> 00:02:28,480
است. در اطراف رشته ها
66
00:02:28,480 –> 00:02:30,879
اما کار می کند و خواندن آن نسبتاً
67
00:02:30,879 –> 00:02:33,120
آسان است که شما باید
68
00:02:33,120 –> 00:02:34,879
هر چیزی را که رشته ای نیست را در رشته بپیچانید
69
00:02:34,879 –> 00:02:36,400
تا آن را تبدیل کنید و این به نوعی
70
00:02:36,400 –> 00:02:37,760
آزاردهنده است
71
00:02:37,760 –> 00:02:42,000
72
00:02:42,000 –> 00:02:44,000
. انجام
73
00:02:44,000 –> 00:02:46,560
بسیاری از ساختن رشته ممکن است مهم نباشد،
74
00:02:46,560 –> 00:02:48,080
اما این یکی است که همانطور که گفتم
75
00:02:48,080 –> 00:02:50,560
اغلب شنیده ام
76
00:02:50,560 –> 00:02:51,760
که اگر دستکاری رشته های زیادی انجام می دهید
77
00:02:51,760 –> 00:02:53,519
که سرعت کد شما را کند می کند، به عنوان مقصر اشاره شده است
78
00:02:53,519 –> 00:02:54,800
،
79
00:02:54,800 –> 00:02:56,480
بنابراین بیایید ببینیم چقدر بهتر می توانیم
80
00:02:56,480 –> 00:02:58,959
آن را دریافت کنیم. احتمالاً رایجترین چیزی که
81
00:02:58,959 –> 00:03:00,319
میشنوم مردم میگویند
82
00:03:00,319 –> 00:03:02,319
خوب شما واقعاً هرگز نباید از plus در
83
00:03:02,319 –> 00:03:03,519
رشتهها
84
00:03:03,519 –> 00:03:05,840
استفاده کنید، باید از روش join استفاده کنید
85
00:03:05,840 –> 00:03:07,200
و
86
00:03:07,200 –> 00:03:10,319
بیایید آن را امتحان کنیم و ببینیم
87
00:03:10,319 –> 00:03:13,519
که
88
00:03:13,519 –> 00:03:14,959
متن پیشبینی برابر با
89
00:03:14,959 –> 00:03:18,480
بالاترین امروزی خواهد بود،
90
00:03:18,480 –> 00:03:20,400
پیوستن نقطهای است
91
00:03:20,400 –> 00:03:21,840
که میتوانیم ارائه دهیم. لیستی از چیزهایی
92
00:03:21,840 –> 00:03:24,319
که می خواهیم در اینجا به هم بپیوندیم
93
00:03:24,319 –> 00:03:25,680
94
00:03:25,680 –> 00:03:28,239
حداکثر رشته بسیار
95
00:03:30,000 –> 00:03:31,360
خوب
96
00:03:31,360 –> 00:03:33,360
و کم است، بنابراین من هنوز باید
97
00:03:33,360 –> 00:03:36,560
فضاهای خود را در اینجا به خاطر بسپارم
98
00:03:36,720 –> 00:03:39,599
99
00:03:40,720 –> 00:03:43,040
100
00:03:43,040 –> 00:03:45,599
، فهرست را ببندم تماس برای پیوستن را ببندیم تا
101
00:03:45,599 –> 00:03:48,959
ببینیم این یکی چقدر طول می
102
00:03:50,480 –> 00:03:52,400
کشد. کمی سریعتر یعنی
103
00:03:52,400 –> 00:03:54,000
50 نانوثانیه
104
00:03:54,000 –> 00:03:58,239
67 بله 60 نانوثانیه تقریباً سریعتر است
105
00:03:58,239 –> 00:04:00,159
و بخشی از دلیل آن زمانی است که
106
00:04:00,159 –> 00:04:02,560
از عملگر جمع استفاده
107
00:04:02,560 –> 00:04:05,120
می کنیم، بنابراین حداکثر امروزی به
108
00:04:05,120 –> 00:04:07,120
علاوه حداکثر رشته t است که یک رشته جدید ایجاد می کند و
109
00:04:07,120 –> 00:04:08,080
110
00:04:08,080 –> 00:04:09,920
سپس از آن استفاده می کنیم. که نه اضافه کردن رشته w
111
00:04:09,920 –> 00:04:11,599
و کمترینی که یک رشته جدید ایجاد می کند،
112
00:04:11,599 –> 00:04:14,640
بنابراین ما عملیات کپی زیادی را انجام می دهیم،
113
00:04:14,640 –> 00:04:16,000
اما
114
00:04:16,000 –> 00:04:18,399
من در اینجا می گویم قابل قبول است، مطمئن شوید که
115
00:04:18,399 –> 00:04:20,478
این سریع تر است
116
00:04:20,478 –> 00:04:22,079
یا حتی می توانیم بگوییم که از نظر
117
00:04:22,079 –> 00:04:24,720
ریاضی تایید شده است، سریعتر است،
118
00:04:24,720 –> 00:04:27,759
اما آیا این سریعترین راه،
119
00:04:27,759 –> 00:04:29,520
بنابراین اجازه دهید راه دیگری را ببینیم که میتوانیم آن را انجام
120
00:04:29,520 –> 00:04:31,680
121
00:04:35,759 –> 00:04:38,160
دهیم، روش قدیمیتر
122
00:04:38,160 –> 00:04:40,720
بیشتر شبیه کاری است که در c انجام میدادیم، زمانی که
123
00:04:40,720 –> 00:04:43,280
در اینجا بیتهای درج و جایگزینی رشته را انجام
124
00:04:43,280 –> 00:04:46,479
125
00:04:48,560 –> 00:04:52,440
میدادیم، بنابراین یک رشته خواهیم داشت
126
00:04:56,080 –> 00:04:59,199
و سپس متغیرها را به آن میگوییم.
127
00:04:59,199 –> 00:05:00,800
max t
128
00:05:00,800 –> 00:05:03,039
و minty که قرار است
129
00:05:03,039 –> 00:05:05,840
جایگزین این مکانها شوند،
130
00:05:05,840 –> 00:05:08,000
این نیز کار میکند
131
00:05:08,000 –> 00:05:09,600
، لزوماً خیلی خوانا نیست و
132
00:05:09,600 –> 00:05:10,560
شما باید همه آن فرمتکنندهها را به خاطر بسپارید،
133
00:05:10,560 –> 00:05:12,000
134
00:05:12,000 –> 00:05:13,680
اما اگر به نوشتن به زبان c یا
135
00:05:13,680 –> 00:05:14,960
برخی از زبانهای دیگر عادت دارید، احتمالاً
136
00:05:14,960 –> 00:05:17,639
فرمتکنندهها را به سختی میشناسید.
137
00:05:17,639 –> 00:05:20,240
325 نانوثانیه،
138
00:05:20,240 –> 00:05:22,080
بنابراین اکنون شاهد بهبودهای بسیار جدی هستیم،
139
00:05:22,080 –> 00:05:23,440
شما میدانید که چند صد
140
00:05:23,440 –> 00:05:25,120
نانوثانیه
141
00:05:25,120 –> 00:05:27,440
نسبت به اولیه ما فقط با استفاده از عملگر افزودن،
142
00:05:27,440 –> 00:05:29,759
143
00:05:29,759 –> 00:05:32,000
اما خیلی خوانا نیست، بنابراین بیایید
144
00:05:32,000 –> 00:05:34,880
یک مورد دیگر را امتحان کنیم، احتمالاً روشی که من
145
00:05:34,880 –> 00:05:37,199
این کار را بیشتر در کدم انجام میدهم،
146
00:05:37,199 –> 00:05:38,960
زیرا خواناترین است که از رشته f استفاده میکند و
147
00:05:38,960 –> 00:05:40,240
مدت زیادی است
148
00:05:40,240 –> 00:05:42,240
که وجود داشته است،
149
00:05:42,240 –> 00:05:45,360
بنابراین حداکثر امروزی در پرانتزهای فرفری
150
00:05:45,360 –> 00:05:47,600
حداکثر t است
151
00:05:47,600 –> 00:05:48,479
152
00:05:48,479 –> 00:05:50,840
و پایینتر
153
00:05:50,840 –> 00:05:54,320
آن minty
154
00:05:54,560 –> 00:05:57,120
dexy است،
155
00:05:58,160 –> 00:06:00,560
این برای من بسیار بسیار است. قابل خواندن
156
00:06:00,560 –> 00:06:04,000
و 278 نانوثانیه است، بنابراین
157
00:06:04,000 –> 00:06:06,400
تقریباً نیمی از زمان
158
00:06:06,400 –> 00:06:08,560
159
00:06:08,560 –> 00:06:12,560
ضربه اولیه ما در این کار با استفاده از عملگر جمع است،
160
00:06:12,560 –> 00:06:14,080
بنابراین اگر از
161
00:06:14,080 –> 00:06:16,639
عملگر جمع برای ساخت رشته های بزرگ استفاده
162
00:06:16,639 –> 00:06:19,039
نکنید، احتمالاً اگر به
163
00:06:19,039 –> 00:06:20,800
اندازه کافی دستکاری رشته انجام دهید، سرعت
164
00:06:20,800 –> 00:06:22,880
آن کندتر است. اما بسیاری از ما
165
00:06:22,880 –> 00:06:24,400
فقط مقادیر جزئی دستکاری رشته را انجام می دهیم
166
00:06:24,400 –> 00:06:26,400
، بنابراین احتمالاً
167
00:06:26,400 –> 00:06:28,400
گلوگاه اصلی کد شما
168
00:06:28,400 –> 00:06:30,080
نیست، اما راه های بهتری برای انجام آن وجود دارد و
169
00:06:30,080 –> 00:06:32,560
پیوستن لزوماً بهترین نیست.
170
00:06:32,560 –> 00:06:34,720
دوباره آن را آزمایش کنید و ببینید برای هر مشکلی چه چیزی پیدا می کنید.
171
00:06:34,720 –> 00:06:36,720
شما در حال تلاش برای
172
00:06:36,720 –> 00:06:37,919
مقابله با مشکل
173
00:06:37,919 –> 00:06:40,800
هستید، بنابراین این مورد بعدی
174
00:06:40,800 –> 00:06:43,199
من چندین بار شنیده
175
00:06:43,199 –> 00:06:44,960
ام، فکر می کنم بیشتر از برنامه نویسانی
176
00:06:44,960 –> 00:06:48,319
که از زبان ما آمده اند،
177
00:06:48,319 –> 00:06:51,440
178
00:06:51,440 –> 00:06:54,720
از while به جای true استفاده می کنند،
179
00:06:55,919 –> 00:06:57,919
بنابراین منظور ما در اینجا خوب چیست یک
180
00:06:57,919 –> 00:06:59,759
مقدار حقیقتی است هر چیزی که صفر نباشد
181
00:06:59,759 –> 00:07:01,360
یک مقدار درستی است،
182
00:07:01,360 –> 00:07:04,160
بنابراین اگر بخواهم یک حلقه حلقه while بنویسم
183
00:07:04,160 –> 00:07:06,880
184
00:07:07,199 –> 00:07:09,440
، مقداری شاخص دارم، آن را صفر میکنم و
185
00:07:09,440 –> 00:07:12,160
میگویم در حالی که true
186
00:07:12,160 –> 00:07:14,720
i به اضافه یک برابر است
187
00:07:14,720 –> 00:07:18,479
اگر من از 10 000 بزرگتر
188
00:07:18,479 –> 00:07:21,840
باشد. برای بیرون آمدن از حلقه من
189
00:07:22,000 –> 00:07:23,840
حلقه خیلی جالبی
190
00:07:23,840 –> 00:07:25,360
نیست، اما مطمئناً گاهی اوقات در کدمان از حلقه while استفاده
191
00:07:25,360 –> 00:07:27,759
192
00:07:27,759 –> 00:07:30,319
میکنیم، بنابراین 548 میکروثانیه دریافت میکنیم
193
00:07:30,319 –> 00:07:31,919
،
194
00:07:31,919 –> 00:07:33,759
بیایید اکنون آن را امتحان کنیم،
195
00:07:33,759 –> 00:07:35,599
در واقع میخواهیم کپی
196
00:07:35,599 –> 00:07:37,039
کنیم تا مطمئن شوید که من من هیچ کار
197
00:07:37,039 –> 00:07:38,960
مخربی انجام نمیدهم،
198
00:07:38,960 –> 00:07:41,919
اما true را با یکی جایگزین میکنیم که
199
00:07:41,919 –> 00:07:45,520
به مقدار واقعی نیز ارزیابی میشود
200
00:07:45,520 –> 00:07:47,039
201
00:07:47,039 –> 00:07:50,160
و فرضیه اینجا این است که در حالی که
202
00:07:50,160 –> 00:07:54,639
1 سریعتر از درست اجرا میشود،
203
00:07:55,280 –> 00:07:58,080
544 میکروثانیه دریافت میکنیم، بنابراین یک
204
00:07:58,080 –> 00:08:00,080
اختلاف چهار میکروثانیه
205
00:08:00,080 –> 00:08:02,560
با y1 سریعتر است.
206
00:08:02,560 –> 00:08:06,720
می توانید این تست را چند بار اجرا کنید
207
00:08:08,479 –> 00:08:10,160
و همچنین می توانید تمام این موارد را باز کنید،
208
00:08:10,160 –> 00:08:12,879
اگر می خواهید
209
00:08:12,879 –> 00:08:14,720
آن را به طور کامل آزمایش کنید، می توانید به طور کامل به
210
0