در این مطلب، ویدئو python: functools.lru_cache (مبتدی – متوسط) آنتونی شماره 54 را توضیح می دهد با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:07:40
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:04,609 –> 00:00:07,560
سلام و به ویدیوی دیگری در این ویدیو خوش آمدید،
2
00:00:07,560 –> 00:00:08,790
ما در مورد ابزارهای فانک LRU صحبت خواهیم کرد
3
00:00:08,790 –> 00:00:11,700
4
00:00:11,700 –> 00:00:14,219
که در استریم اخیر من مطرح شده است
5
00:00:14,219 –> 00:00:15,660
که در آن کسی دوست دارد آن کد
6
00:00:15,660 –> 00:00:18,210
چه کاری انجام می دهد آن کار چه کاری انجام می دهد،
7
00:00:18,210 –> 00:00:20,640
بیایید به آن بپردازیم آن را و توضیح دهید خوب است،
8
00:00:20,640 –> 00:00:23,220
بنابراین برای امروز من قصد دارم
9
00:00:23,220 –> 00:00:25,800
یک فایل Python بسازم، بنابراین ابتدا
10
00:00:25,800 –> 00:00:27,180
ابزارهای فانک را وارد می کنیم،
11
00:00:27,180 –> 00:00:29,849
جایی که این از آن وارد شده از
12
00:00:29,849 –> 00:00:31,410
ابزارها می شود و ما یک
13
00:00:31,410 –> 00:00:34,110
تابع می سازیم که تزیین شده با
14
00:00:34,110 –> 00:00:36,180
دکوراتور کش LRU و اگر
15
00:00:36,180 –> 00:00:37,620
اطلاعات بیشتری در مورد دکوراتورها می خواهید من
16
00:00:37,620 –> 00:00:41,730
چند ماه پیش ویدیویی در
17
00:00:41,730 –> 00:00:43,829
مورد اینکه شما دکوراتورها را می شناسید به طور کلی تهیه
18
00:00:43,829 –> 00:00:45,690
19
00:00:45,690 –> 00:00:48,440
20
00:00:48,440 –> 00:00:51,989
کردم. به شما پول نقد بدهکارم و
21
00:00:51,989 –> 00:00:53,550
اگر در پایتون 3 نقطه 8 یا
22
00:00:53,550 –> 00:00:54,690
بالاتر کار می کنید، نیازی به گذاشتن پرانتز
23
00:00:54,690 –> 00:00:56,699
بعد از این ندارید، بنابراین اجازه دهید
24
00:00:56,699 –> 00:00:58,680
ابتدا با اساسی ترین استفاده از آن
25
00:00:58,680 –> 00:01:00,600
شروع کنم و سپس نشان خواهم داد. شما چند راه
26
00:01:00,600 –> 00:01:04,830
که ما می توانیم تنظیم کنیم این دکوراتور و
27
00:01:04,830 –> 00:01:05,939
ما یک
28
00:01:05,939 –> 00:01:08,670
عملکرد بسیار ساده در اینجا خواهیم داشت که فقط
29
00:01:08,670 –> 00:01:12,260
به شما اطلاع می دهد که بارهای مربعی برای شناور شدن وجود دارد،
30
00:01:12,260 –> 00:01:16,409
درست به عنوان نمونه ای در اینجا ما
31
00:01:16,409 –> 00:01:17,729
همچنین می خواهیم اینجا چاپ کنیم تا
32
00:01:17,729 –> 00:01:19,590
ببینیم عملکرد ما چه زمانی است. کد در واقع در
33
00:01:19,590 –> 00:01:24,960
حال اجرا است، بله، ممکن است
34
00:01:24,960 –> 00:01:28,920
you know X را که در حال اجرا است را در اینجا قرار دهیم، بنابراین اجازه دهید
35
00:01:28,920 –> 00:01:30,869
ابتدا این کد را
36
00:01:30,869 –> 00:01:33,420
بدون دکوراتورهای کش LRU اجرا کنیم، اگر پایتون 3
37
00:01:33,420 –> 00:01:36,299
– 82 pi را اجرا کنید، می توانید ببینید که اگر
38
00:01:36,299 –> 00:01:39,689
مربع 2 را اجرا کنیم، باید این کد را اجرا کنیم. us 4 پاسخ ما است
39
00:01:39,689 –> 00:01:41,729
و خواهید دید که وقتی
40
00:01:41,729 –> 00:01:43,860
آن را اجرا می کنیم، همیشه این
41
00:01:43,860 –> 00:01:45,869
متن کوچک در حال اجرا را چاپ می کند و می گوید که می دانید
42
00:01:45,869 –> 00:01:47,369
کد در حال اجرا
43
00:01:47,369 –> 00:01:49,979
است، اگر اکنون این دکوراتور را وصل
44
00:01:49,979 –> 00:01:53,460
کنیم و اول مربع را اجرا کنیم، در واقع این کار را انجام می دهد. زمانی که
45
00:01:53,460 –> 00:01:54,810
این تابع را اجرا می کنیم، خواهید دید که
46
00:01:54,810 –> 00:01:56,180
چاپ می کند که کد را اجرا می کند،
47
00:01:56,180 –> 00:01:59,100
اما هر فراخوانی پس از آن
48
00:01:59,100 –> 00:02:01,380
در واقع این چاپ را اجرا نمی کند و بنابراین آنچه در
49
00:02:01,380 –> 00:02:03,650
اینجا اتفاق می افتد این است که در حافظه پنهان ذخیره می شود
50
00:02:03,650 –> 00:02:07,190
و LRU به معنای کمترین استفاده اخیر است، به این
51
00:02:07,190 –> 00:02:11,450
معنی که اساسا mos تماسهای اخیر
52
00:02:11,450 –> 00:02:13,460
پول نقد میشوند و اگر نیاز به
53
00:02:13,460 –> 00:02:15,770
اخراج داشته باشد، بنابراین اگر لازم باشد
54
00:02:15,770 –> 00:02:17,690
برخی از مقادیر نقدی را
55
00:02:17,690 –> 00:02:20,540
فراموش کند، ابتدا قدیمیترین تماسها را فراموش میکند، اکنون
56
00:02:20,540 –> 00:02:22,700
فکر میکنم پیشفرض برای کش LRU
57
00:02:22,700 –> 00:02:26,060
مانند اندازه 128 یا چیزی شبیه به آن است. و
58
00:02:26,060 –> 00:02:28,940
همانطور که می دانید ما به راحتی نمی
59
00:02:28,940 –> 00:02:31,100
توانیم آن را در یک ویدیو در اینجا نشان دهیم، اما
60
00:02:31,100 –> 00:02:33,650
من در واقع اندازه
61
00:02:33,650 –> 00:02:35,800
این حافظه پنهان را تنظیم می کنم و می توانیم با
62
00:02:35,800 –> 00:02:39,560
تغییر آن به یک تماس در اینجا این کار را انجام دهیم و می توانیم
63
00:02:39,560 –> 00:02:42,350
حداکثر اندازه را ارسال کنیم. در اینجا مقداری ارزش دارد، بنابراین
64
00:02:42,350 –> 00:02:45,340
فرض کنید میخواهیم اندازه را در 3
65
00:02:45,340 –> 00:02:48,650
حداکثر کنیم، احتمالاً اندازه حداکثری را انتخاب میکنید
66
00:02:48,650 –> 00:02:50,870
که برای
67
00:02:50,870 –> 00:02:52,510
هر برنامهای که روی
68
00:02:52,510 –> 00:02:54,890
آن کار میکنید، مبادله خوبی ایجاد میکند، بنابراین نمیدانم شاید در حال ذخیرهسازی هستید.
69
00:02:54,890 –> 00:02:57,380
تماسی برای بازیابی یک
70
00:02:57,380 –> 00:02:59,990
حساب کاربری و شاید میدانید
71
00:02:59,990 –> 00:03:02,000
که حداکثر هزار کاربر را دریافت کردهاید و شاید فقط
72
00:03:02,000 –> 00:03:03,350
صد نفر از آنها فعال باشند، بنابراین میتوانید
73
00:03:03,350 –> 00:03:05,150
اندازه حافظه پنهان را انتخاب کنید، بنابراین ما بین
74
00:03:05,150 –> 00:03:08,269
آن دو هستیم، همچنین میتوانید همان تمرین
75
00:03:08,269 –> 00:03:09,920
برابر با هیچکدام نیست. اگر می خواهید پول نقد به
76
00:03:09,920 –> 00:03:10,760
طور نامحدود رشد
77
00:03:10,760 –> 00:03:13,430
کند، احتمالاً مقایسه می کنید این
78
00:03:13,430 –> 00:03:14,750
برخلاف مقدار حافظه ای است که
79
00:03:14,750 –> 00:03:16,430
واقعاً در سرور خود در دسترس دارید،
80
00:03:16,430 –> 00:03:18,350
اما به هر حال اجازه دهید این را با حداکثر
81
00:03:18,350 –> 00:03:20,750
اندازه 3 نشان دهیم، بنابراین اگر مربع 2
82
00:03:20,750 –> 00:03:23,030
را صدا کنیم، خواهید دید که این حافظه پنهان می شود،
83
00:03:23,030 –> 00:03:25,970
آنها مربع 3 و مربع 4 را به شما می گویند. می
84
00:03:25,970 –> 00:03:27,440
بینم که آن ها را نیز اجرا می کند و اگر
85
00:03:27,440 –> 00:03:29,090
دوباره مربع 3 را صدا بزنیم، آن یکی
86
00:03:29,090 –> 00:03:31,670
هنوز کش است و مربع 2 همچنان
87
00:03:31,670 –> 00:03:34,510
کش است، اما اکنون اگر جذر 5 را صدا
88
00:03:34,510 –> 00:03:36,890
کنیم زیرا حداکثر اندازه 3 داریم و
89
00:03:36,890 –> 00:03:39,620
فقط 2 3 و 4 داریم. در حافظه پنهان ما یکی از
90
00:03:39,620 –> 00:03:41,330
این مقادیر حذف شد و اگر به
91
00:03:41,330 –> 00:03:44,420
آخرین تماسهای خود نگاه کنیم، دو،
92
00:03:44,420 –> 00:03:46,220
سپس سه و سپس چهار
93
00:03:46,220 –> 00:03:48,110
را فراخوانی می