WEBVTT

00:00.270 --> 00:02.610
مرحبًا ومرحبًا بكم في برنامج Python التعليمي هذا.

00:02.820 --> 00:07.410
حسنًا ، سنقوم الآن بعمل وظيفة الدفع ، والتي ستؤدي مهمتين.

00:07.410 --> 00:12.570
أولاً ، سيتم إلحاق انتقال جديد أو حدث جديد في الذاكرة.

00:12.660 --> 00:17.910
وثانياً ، ستتأكد من أن الذاكرة تحتوي دائمًا على 100 انتقال.

00:17.940 --> 00:23.460
أنا أقول 100 لأننا قدمنا مثال 100 حدث في البرنامج التعليمي السابق ، ولكن في الواقع ، سيكون

00:23.460 --> 00:24.970
هذا أكثر من 100 حدث.

00:24.990 --> 00:28.340
سيكون هذا بالأحرى 10000 أو 100000.

00:28.350 --> 00:29.220
سوف نرى.

00:29.220 --> 00:32.160
ولكن على أي حال ، ستكون هذه القيمة هي السعة.

00:32.700 --> 00:35.550
حسنًا ، لنجعل وظيفة الدفع هذه.

00:35.550 --> 00:41.340
لذا كالعادة ، نبدأ بـ def لتحديد وظيفة جديدة ثم نعطي اسمًا لهذه الوظيفة.

00:41.340 --> 00:46.320
لذلك نسميها دفع وسيكون لهذه الدالة وسيطان.

00:46.320 --> 00:50.990
أولاً ، كالعادة ، الذات التي تشير إلى الكائن والشيء التالي.

00:51.000 --> 00:52.500
ما رأيك سيكون؟

00:52.680 --> 00:58.670
حسنًا ، تذكر ، سيتم استخدام وظيفة الدفع هذه لإلحاق حدث جديد في الذاكرة.

00:58.680 --> 01:00.300
لدينا الذاكرة بالفعل.

01:00.300 --> 01:03.420
إذن ما نحتاجه الآن كمتغير هو حدث.

01:03.420 --> 01:10.860
ستكون هذه هي الحجة والمدخلات الخاصة بنا وسنلحق هذا الإدخال في الذاكرة ، وهو متغير

01:10.860 --> 01:12.150
للكائن.

01:13.060 --> 01:17.710
حسنًا ، إذا حدث يمكنك تسميته حدثًا أو انتقالًا.

01:17.710 --> 01:18.640
نفس الشيئ.

01:18.640 --> 01:23.770
وسترى في أقسام الكود التالية ما هو بالضبط هذا الحدث ، ما هو شكله؟

01:24.010 --> 01:29.590
في الواقع ، يمكنني أن أخبركم الآن ، هذا الحدث ، هذا الانتقال الذي نضيفه إلى الذاكرة هو إجمالي

01:29.590 --> 01:30.930
أربعة عناصر.

01:30.940 --> 01:33.910
الأول هو الدولة الأخيرة التي هي الدولة.

01:33.940 --> 01:37.210
الحالة الثانية هي الحالة الجديدة وهي الحالة زائد واحد.

01:37.240 --> 01:42.460
الإجراء الثالث هو الإجراء الأخير وهو 80 ، وهو الإجراء الذي تم عرضه.

01:42.580 --> 01:46.750
والرابع هو الأجر الأخير ، الأجر الأخير الذي حصل عليه.

01:46.750 --> 01:47.740
هذا صحيح.

01:48.010 --> 01:51.100
هذا هو بالضبط الشكل الذي سيكون عليه هذا الحدث.

01:51.610 --> 01:52.300
حسنا.

01:52.450 --> 01:57.430
وهذا كل ما نحتاجه فقط للحدث لأننا نريد فقط فتح الحدث في الذاكرة ثم

01:57.430 --> 02:00.760
التأكد من احتواء الذاكرة على عناصر سعة.

02:01.060 --> 02:01.480
حسنا.

02:01.480 --> 02:03.610
لننتقل الآن إلى داخل الدالة.

02:03.610 --> 02:07.390
لذا فإن أول شيء سنفعله هو إلحاق الحدث الجديد بالذاكرة.

02:07.390 --> 02:10.660
وهذا بسيط للغاية لأننا سنستخدم وظيفة الإلحاق.

02:10.660 --> 02:12.070
لذلك سيكون ذلك مباشرًا.

02:12.070 --> 02:18.370
وعندما نستخدم وظيفة الإلحاق ، يجب أن نبدأ بالقائمة التي نريد إلحاق شيء ما بها.

02:18.490 --> 02:20.770
وهذه القائمة هي بالطبع ذاكرة.

02:20.770 --> 02:22.150
لذلك نبدأ بالذاكرة.

02:22.150 --> 02:28.240
وبما أن الذاكرة هي متغير للكائن ، فإننا نبدأ هنا بذاكرة النقطة الذاتية.

02:29.320 --> 02:30.130
هناك نذهب.

02:30.340 --> 02:35.710
إذن الذاكرة الذاتية ثم نضيف نقطة ثم وظيفة الإلحاق وهي الأولى.

02:35.710 --> 02:44.290
لذا قم بإلحاق وداخل وظيفة الإلحاق ، نقوم بإدخال ما نريد إلحاقه بالذاكرة ، وهو بالطبع أحداثنا.

02:44.530 --> 02:45.640
حتى هنا.

02:46.180 --> 02:52.990
وهذا سيُلحق الحدث الجديد المكون من الحالة الأخيرة والحالة الجديدة وقسم أقل ومكافأة أقل

02:52.990 --> 02:53.890
بالذاكرة.

02:54.400 --> 02:55.120
حسنا.

02:55.120 --> 02:56.620
هذا هو أول شيء يتم القيام به.

02:56.620 --> 03:03.760
ثم الشيء الثاني الذي يتعين علينا القيام به هو التأكد من احتواء الذاكرة دائمًا على عناصر السعة.

03:03.760 --> 03:07.300
لنفترض أن السعة الآن 100000.

03:07.300 --> 03:12.520
ربما تكون هذه هي السعة التي سنختارها لأن مليون عنصر قد يجعل التدريب بطيئًا.

03:12.520 --> 03:14.920
لنفترض إذن 100000.

03:14.920 --> 03:21.880
الآن سوف نتأكد من أن ذاكرتنا تحتوي دائمًا على 100000 انتقال و 100000 حدث وليس

03:21.880 --> 03:22.600
أبدًا.

03:22.600 --> 03:28.750
لذلك بالطبع في البداية سيكون له حدث ، ثم اثنان وثلاثة ، ولكن بعد ذلك بمجرد وصوله إلى 100000

03:28.750 --> 03:32.140
حدث ، حسنًا ، سيكون به دائمًا 100000 حدث.

03:32.140 --> 03:38.380
وللتأكد من ذلك ، نحتاج ببساطة إلى إنشاء شرط F بهذا الحد الأعلى الذي لا نريد

03:38.380 --> 03:39.370
تجاوزه.

03:39.370 --> 03:47.860
إذا كان الأمر كذلك ، فإن المعرف الذي سنستخدمه هنا هو أنه إذا تجاوزنا الحد ، حسنًا ، سنحذف الانتقال

03:47.860 --> 03:56.020
الأول ، الحدث الأول في الذاكرة ، وبالتالي سنأخذ دالة Len لأخذها طول الذاكرة.

03:56.020 --> 03:58.120
هذا هو عدد العناصر الموجودة في الذاكرة.

03:58.240 --> 04:02.380
هنا في دالة الأرض نقوم بإدخال ذاكرة النقطة الذاتية.

04:02.650 --> 04:03.790
هذه هي الذاكرة.

04:04.180 --> 04:12.430
لذلك إذا كان عدد العناصر في الذاكرة الذاتية أكبر من السعة ، حسنًا ، في هذه الحالة سنزيل

04:12.430 --> 04:19.810
العنصر الأول للتأكد من أن الذاكرة تحتوي دائمًا على نفس عدد عناصر السعة ولحذف

04:20.320 --> 04:21.790
العنصر الأول.

04:21.790 --> 04:22.960
لا يوجد شيء أكثر بساطة.

04:22.960 --> 04:27.010
سنستخدم دالة أخرى ، وهي خدعة del python.

04:27.010 --> 04:33.700
لذا ، فإن Del ، وبالتالي نريد إزالة الانتقال الأول ، وهو أقدم انتقال في الذاكرة ، لأن

04:33.700 --> 04:39.310
التحولات الأخيرة هي التي نلحقها ، وبالتالي فهي أحدث الانتقالات.

04:39.310 --> 04:41.800
لذا فإن التحولات الأولى هي الأقدم.

04:42.130 --> 04:51.430
وهنا نريد حذف الذاكرة والأقواس المدروسة ذاتيًا ونأخذ العنصر الأول من الذاكرة الذي يحتوي على

04:51.430 --> 04:52.810
فهرس صفر.

04:52.990 --> 04:54.670
حتى الذاكرة الذاتية صفر.

04:55.300 --> 04:55.690
حاليا.

04:55.690 --> 04:56.410
مثير للإعجاب.

04:56.410 --> 05:00.710
لدي القليل من التحذير الذي يفيد بوجود سعة اسم غير محددة.

05:00.730 --> 05:03.760
ذلك لأن السعة هنا ليست هي المدخلات.

05:03.760 --> 05:07.320
يجب أن يكون متغير السعة المرتبط بالكائن.

05:07.330 --> 05:12.820
وبالتالي هنا نحتاج إلى إضافة قدرة ذاتية والآن ذهب التحذير.

05:13.060 --> 05:15.610
حتى الآن أنت تفهم أكثر من استخدام الذات.

05:15.610 --> 05:22.360
هذا حقًا للإشارة إلى الكائن لأخذ سعة الكائن الذي سيتم إنشاؤه.

05:22.360 --> 05:25.120
هذا مثيل لفئة ذاكرة إعادة التشغيل.

05:26.060 --> 05:29.060
حسنًا ، لقد انتهينا من وظيفة الدفع هذه.

05:29.060 --> 05:34.190
والآن يمكننا الانتقال إلى الوظيفة التالية ، وهي دالة العينة ، والتي ستأخذ

05:34.190 --> 05:38.590
بعض العينات العشوائية من هذه الذاكرة لعناصر السعة الأخيرة.

05:38.600 --> 05:41.840
وسيؤدي القيام بذلك إلى تحسين عملية التعلم العميق كثيرًا.

05:42.320 --> 05:44.420
حسنًا ، لنفعل ذلك في الدرس التالي.

05:44.420 --> 05:45.710
وحتى ذلك الحين ، استمتع.

05:45.710 --> 05:46.220
أنا.
