WEBVTT

00:00.270 --> 00:02.610
Xin chào và chào mừng bạn đến với hướng dẫn Python này.

00:02.820 --> 00:07.410
Được rồi, bây giờ chúng ta sẽ tạo ra hàm push, nó sẽ thực hiện hai nhiệm vụ.

00:07.410 --> 00:12.570
Đầu tiên, nó sẽ thêm một quá trình chuyển đổi mới hoặc một sự kiện mới vào bộ nhớ.

00:12.660 --> 00:17.910
Và thứ hai, nó sẽ đảm bảo rằng bộ nhớ luôn có 100 lần chuyển đổi.

00:17.940 --> 00:23.460
Tôi đang nói 100 vì chúng tôi đã đưa ra ví dụ về 100 sự kiện trong hướng dẫn trước, nhưng trên thực tế, con

00:23.460 --> 00:24.970
số này sẽ nhiều hơn 100.

00:24.990 --> 00:28.340
Con số này có thể là 10.000 hoặc 100.000.

00:28.350 --> 00:29.220
Chúng ta sẽ thấy.

00:29.220 --> 00:32.160
Nhưng dù sao đi nữa, giá trị này sẽ là dung lượng.

00:32.700 --> 00:35.550
Được rồi, hãy tạo chức năng đẩy này.

00:35.550 --> 00:41.340
Vì vậy, như thường lệ, chúng ta bắt đầu với def để định nghĩa một hàm mới và sau đó chúng ta đặt tên cho hàm này.

00:41.340 --> 00:46.320
Vì vậy, chúng tôi gọi nó là push và hàm này sẽ có hai đối số.

00:46.320 --> 00:50.990
Đầu tiên, như thường lệ, self đề cập đến đối tượng và đối tượng tiếp theo.

00:51.000 --> 00:52.500
Bạn nghĩ đó sẽ là gì?

00:52.680 --> 00:58.670
Hãy nhớ rằng, chức năng đẩy này sẽ được sử dụng để thêm một sự kiện mới vào bộ nhớ.

00:58.680 --> 01:00.300
Chúng tôi đã có bộ nhớ.

01:00.300 --> 01:03.420
Vì vậy, những gì chúng ta cần bây giờ là một biến là một sự kiện.

01:03.420 --> 01:10.860
Vì vậy, đó sẽ là đối số của chúng tôi, đầu vào của chúng tôi và chúng tôi sẽ nối đầu vào này trong bộ nhớ, là một

01:10.860 --> 01:12.150
biến của đối tượng.

01:13.060 --> 01:17.710
Được rồi, sự kiện bạn có thể thực sự gọi nó là sự kiện hoặc quá trình chuyển đổi.

01:17.710 --> 01:18.640
Cũng vậy thôi.

01:18.640 --> 01:23.770
Và bạn sẽ thấy trong các phần mã tiếp theo chính xác thì sự kiện này là gì, nó có dạng gì?

01:24.010 --> 01:29.590
Trên thực tế, bây giờ tôi có thể nói với bạn, sự kiện này, sự chuyển đổi này mà chúng ta đang thêm vào bộ nhớ

01:29.590 --> 01:30.930
có tổng cộng bốn yếu tố.

01:30.940 --> 01:33.910
Cái đầu tiên là trạng thái cuối cùng là trạng thái.

01:33.940 --> 01:37.210
Cái thứ hai là trạng thái mới là trạng thái cộng với một.

01:37.240 --> 01:42.460
Hành động thứ ba là hành động cuối cùng là 80, hành động đã được hiển thị.

01:42.580 --> 01:46.750
Và cái thứ tư là phần thưởng cuối cùng, phần thưởng cuối cùng có được.

01:46.750 --> 01:47.740
Đúng vậy.

01:48.010 --> 01:51.100
Vì vậy, đó chính xác là hình thức mà sự kiện này sẽ có.

01:51.610 --> 01:52.300
Được rồi.

01:52.450 --> 01:57.430
Và đó là tất cả những gì chúng ta chỉ cần sự kiện vì chúng ta chỉ muốn mở sự kiện vào bộ

01:57.430 --> 02:00.760
nhớ và sau đó đảm bảo rằng bộ nhớ có các phần tử dung lượng.

02:01.060 --> 02:01.480
Được rồi.

02:01.480 --> 02:03.610
Vì vậy, bây giờ chúng ta hãy đi vào bên trong hàm.

02:03.610 --> 02:07.390
Vì vậy, điều đầu tiên chúng ta sẽ làm là thêm sự kiện mới vào bộ nhớ.

02:07.390 --> 02:10.660
Và điều đó rất đơn giản vì chúng ta sẽ sử dụng hàm append.

02:10.660 --> 02:12.070
Vì vậy, đó sẽ là trực tiếp.

02:12.070 --> 02:18.370
Và khi chúng ta sử dụng hàm append, chúng ta phải bắt đầu với danh sách mà chúng ta muốn thêm một cái gì đó vào.

02:18.490 --> 02:20.770
Và danh sách này tất nhiên là bộ nhớ.

02:20.770 --> 02:22.150
Vì vậy, chúng tôi bắt đầu với bộ nhớ.

02:22.150 --> 02:28.240
Và vì bộ nhớ là một biến của đối tượng, chúng ta bắt đầu ở đây với bộ nhớ tự chấm.

02:29.320 --> 02:30.130
Chúng ta bắt đầu.

02:30.340 --> 02:35.710
Vì vậy, tự bộ nhớ và sau đó chúng tôi thêm một dấu chấm và sau đó là hàm nối thêm, là chức năng đầu tiên.

02:35.710 --> 02:43.450
Vì vậy, append và bên trong hàm append, chúng ta nhập những gì chúng ta muốn thêm vào bộ nhớ, đó tất nhiên là các sự kiện của

02:43.450 --> 02:44.290
chúng ta.

02:44.530 --> 02:45.640
Vì vậy, ngay cả ở đây.

02:46.180 --> 02:52.990
Và điều đó sẽ thêm sự kiện mới bao gồm trạng thái cuối cùng, trạng thái mới, ít phần hơn và ít phần thưởng hơn

02:52.990 --> 02:53.890
vào bộ nhớ.

02:54.400 --> 02:55.120
Được rồi.

02:55.120 --> 02:56.620
Vì vậy, đó là điều đầu tiên được thực hiện.

02:56.620 --> 03:03.760
Và điều thứ hai chúng ta cần làm là đảm bảo rằng bộ nhớ luôn chứa các yếu tố dung lượng.

03:03.760 --> 03:07.300
Vì vậy, giả sử công suất bây giờ là 100.000.

03:07.300 --> 03:11.950
Đó có lẽ là công suất mà chúng tôi sẽ chọn vì khi đó 1 triệu phần tử có thể làm cho quá trình đào

03:11.950 --> 03:12.520
tạo chậm lại.

03:12.520 --> 03:14.920
Vì vậy, giả sử 100.000.

03:14.920 --> 03:21.880
Bây giờ chúng ta sẽ đảm bảo rằng bộ nhớ của chúng ta luôn chứa 100.000 lần chuyển đổi, 100.000 sự kiện và không bao

03:21.880 --> 03:22.600
giờ nữa.

03:22.600 --> 03:28.750
Vì vậy, tất nhiên lúc đầu nó sẽ có một, sau đó hai và ba, nhưng sau đó khi đạt

03:28.750 --> 03:32.140
100.000 sự kiện, tốt, nó sẽ luôn có 100.000 sự kiện.

03:32.140 --> 03:38.380
Vì vậy, để đảm bảo điều đó, chúng ta chỉ cần tạo một điều kiện F với giới hạn trên mà chúng ta không

03:38.380 --> 03:39.370
muốn bỏ qua.

03:39.370 --> 03:47.860
Vì vậy, nếu vậy, ID mà chúng tôi sử dụng ở đây là nếu chúng tôi vượt quá giới hạn, chúng tôi sẽ xóa quá trình chuyển đổi đầu

03:47.860 --> 03:54.550
tiên, sự kiện đầu tiên của bộ nhớ, và do đó chúng tôi sẽ sử dụng hàm Len để thực hiện độ

03:54.550 --> 03:56.020
dài của bộ nhớ.

03:56.020 --> 03:58.120
Đó là số phần tử trong bộ nhớ.

03:58.240 --> 04:02.380
Vì vậy, ở đây trong hàm đất, chúng tôi nhập vào bộ nhớ tự chấm.

04:02.650 --> 04:03.790
Đó là ký ức.

04:04.180 --> 04:12.430
Vì vậy, nếu số lượng phần tử trong bộ nhớ lớn hơn dung lượng, tốt, trong trường hợp đó chúng ta sẽ xóa

04:12.430 --> 04:19.810
phần tử đầu tiên để đảm bảo rằng bộ nhớ luôn có cùng số phần tử dung lượng và xóa phần

04:20.320 --> 04:21.790
tử đầu tiên.

04:21.790 --> 04:22.960
Không có gì đơn giản hơn.

04:22.960 --> 04:27.010
Chúng ta sẽ sử dụng một chức năng khác, đó là thủ thuật del python.

04:27.010 --> 04:33.700
Vì vậy, Del và do đó chúng tôi muốn loại bỏ quá trình chuyển đổi đầu tiên, là quá trình chuyển đổi lâu đời nhất trong bộ nhớ, bởi

04:33.700 --> 04:39.310
vì các chuyển đổi cuối cùng là những chuyển đổi mà chúng ta thêm vào và do đó đó là chuyển đổi mới nhất.

04:39.310 --> 04:41.800
Vì vậy, các chuyển đổi đầu tiên là chuyển đổi cũ nhất.

04:42.130 --> 04:51.430
Vì vậy, ở đây chúng ta muốn xóa bộ nhớ tự học và dấu ngoặc và chúng ta lấy phần tử đầu tiên của bộ nhớ có

04:51.430 --> 04:52.810
chỉ số bằng không.

04:52.990 --> 04:54.670
Vì vậy, tự bộ nhớ bằng không.

04:55.300 --> 04:55.690
Hiện nay.

04:55.690 --> 04:56.410
Thú vị.

04:56.410 --> 05:00.710
Tôi có một cảnh báo nhỏ nói rằng có dung lượng tên không xác định.

05:00.730 --> 05:03.760
Đó là bởi vì năng lực ở đây không phải là đầu vào.

05:03.760 --> 05:07.320
Đó phải là biến dung lượng gắn liền với đối tượng.

05:07.330 --> 05:12.820
Và do đó ở đây chúng ta cần thêm năng lực bản thân và bây giờ cảnh báo đã biến mất.

05:13.060 --> 05:15.610
Vì vậy, bây giờ bạn đã hiểu nhiều hơn về việc sử dụng bản thân.

05:15.610 --> 05:22.360
Đó thực sự là để chỉ đối tượng để lấy dung lượng của đối tượng sẽ được tạo ra.

05:22.360 --> 05:25.120
Đó là một thể hiện của lớp bộ nhớ phát lại.

05:26.060 --> 05:29.060
Được rồi, vậy là chúng ta đã thực hiện xong chức năng đẩy này.

05:29.060 --> 05:34.190
Và bây giờ chúng ta có thể chuyển sang hàm tiếp theo, đó là hàm mẫu, hàm này sẽ lấy

05:34.190 --> 05:38.590
một số mẫu ngẫu nhiên từ bộ nhớ này của các phần tử dung lượng cuối cùng.

05:38.600 --> 05:41.840
Và làm điều này sẽ cải thiện rất nhiều quá trình học sâu.

05:42.320 --> 05:44.420
Được rồi, hãy làm điều này trong hướng dẫn tiếp theo.

05:44.420 --> 05:45.710
Và cho đến khi đó, hãy tận hưởng.

05:45.710 --> 05:46.220
TÔI.
