Bài viết này sẽ chỉ cho bạn cách xóa biến và đối tượng khỏi bộ nhớ bằng cách sử dụng từ khóa puzzles_solved = 12975 print(puzzles_solved)1hoặc puzzles_solved = 12975 print(puzzles_solved)2
Ngôn ngữ Python có một số từ dành riêng tích hợp có ý nghĩa cụ thể được gọi là từ khóa. Những từ khóa này được dành riêng cho Python và không thể sử dụng ở bất kỳ nơi nào khác. Ví dụ: khai báo một biến, một danh sách, một đối tượng, v.v.
Để hiển thị danh sách các từ khóa Python, hãy chạy tập lệnh sau
import keyword print(keyword.kwlist)puzzles_solved = 12975 print(puzzles_solved)3Bài viết này tập trung vào việc sử dụng các từ khóa puzzles_solved = 12975 print(puzzles_solved)4 hoặc puzzles_solved = 12975 print(puzzles_solved)5
💬 câu hỏi. Làm thế nào chúng ta sẽ viết mã để xóa hoặc xóa các đối tượng khỏi bộ nhớ?
Chúng ta có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau
- Phương pháp 1. Xóa Biến bằng cách sử dụng puzzles_solved = 12975 print(puzzles_solved)1hoặc ________0_______2 khỏi Bộ nhớ
- Phương pháp 2. Xóa Danh sách hoặc Từ điển bằng cách sử dụng puzzles_solved = 12975 print(puzzles_solved)1hoặc ________0_______2 khỏi Bộ nhớ
- Phương pháp 3. Xóa một Chức năng bằng cách sử dụng puzzles_solved = 12975 print(puzzles_solved)1hoặc ________0_______2 khỏi Bộ nhớ
- Phương pháp 4. Xóa các đối tượng do người dùng xác định bằng puzzles_solved = None print(puzzles_solved)2 và puzzles_solved = None print(puzzles_solved)3
- Phương pháp 5. Sử dụng thư viện puzzles_solved = None print(puzzles_solved)4
Phương pháp 1. Xóa một biến bằng cách sử dụng del và Không có
Ví dụ này sử dụng các từ khóa puzzles_solved = 12975 print(puzzles_solved)4 và puzzles_solved = 12975 print(puzzles_solved)2 để xóa và xóa một biến và so sánh sự khác biệt
puzzles_solved = 12975 print(puzzles_solved)Ở trên, chúng ta đã khai báo biến puzzles_solved = None print(puzzles_solved)7, đặt giá trị là 12975 và xuất tương tự ra terminal
12975Tuy nhiên, nếu giá trị của puzzles_solved = None print(puzzles_solved)7 được đặt thành ________0_______2, điều này sẽ không xóa biến khỏi bộ nhớ. Thay vào đó, nó xóa giá trị
puzzles_solved = None print(puzzles_solved)Điều này được xác nhận bằng cách gửi nội dung của puzzles_solved = None print(puzzles_solved)7 đến thiết bị đầu cuối
Không cóTừ khóa ________0_______4 phải được sử dụng để xóa hoàn toàn một biến khỏi bộ nhớ
puzzles_solved = 12975 del puzzles_solved print(puzzles_solved)Gửi đầu ra đến thiết bị đầu cuối sẽ hiển thị thông báo puzzles_solved = 12975 del puzzles_solved print(puzzles_solved)2. Biến không còn tồn tại
puzzles_solved = 12975 del puzzles_solved print(puzzles_solved)3Phương pháp 2. Xóa một danh sách hoặc một từ điển
Ví dụ này sử dụng từ khóa del và puzzles_solved = 12975 print(puzzles_solved)5 để xóa một puzzles_solved = 12975 del puzzles_solved print(puzzles_solved)5 và một Từ điển và so sánh sự khác biệt
user_list = [212, 215, 387, 598, 610] user_dict = {212: 'Tom', 215: 'Amy', 387: 'Rob', 598: 'Carl', 610: 'Raj'} print(user_list) print(user_dict)Ở trên, tạo một Danh sách chứa ID người dùng Finxter hư cấu puzzles_solved = 12975 del puzzles_solved print(puzzles_solved)6. Điều này tiết kiệm cho puzzles_solved = 12975 del puzzles_solved print(puzzles_solved)6. Tiếp theo, một Từ điển được tạo có chứa dữ liệu Finxter hư cấu (id và tên). Điều này tiết kiệm cho puzzles_solved = 12975 del puzzles_solved print(puzzles_solved)8
💡Lưu ý. Ví dụ này cho thấy việc xóa Danh sách và Từ điển. Tuy nhiên, có thể xóa bất kỳ đối tượng nào bằng cách sử dụng từ khóa puzzles_solved = 12975 print(puzzles_solved)4
Cả hai đều được xuất ra thiết bị đầu cuối
user_list = [212, 215, 387, 598, 610] user_dict = {212: 'Tom', 215: 'Amy', 387: 'Rob', 598: 'Carl', 610: 'Raj'} print(user_list) print(user_dict)0Tuy nhiên, nếu các biến này được đặt thành ________0_______5, điều này sẽ không xóa các biến khỏi bộ nhớ. Thay vào đó, nó xóa (các) giá trị
user_list = None user_dict = None print(user_list) print(user_dict)Điều này được xác nhận bởi đầu ra sau cho thiết bị đầu cuối
user_list = [212, 215, 387, 598, 610] user_dict = {212: 'Tom', 215: 'Amy', 387: 'Rob', 598: 'Carl', 610: 'Raj'} print(user_list) print(user_dict)2Từ khóa puzzles_solved = 12975 print(puzzles_solved)1 phải được sử dụng để xóa hoàn toàn một biến khỏi bộ nhớ
del user_list del user_dict print(user_list) print(user_dict)Gửi đầu ra đến thiết bị đầu cuối sẽ hiển thị thông báo puzzles_solved = 12975 del puzzles_solved print(puzzles_solved)2. Biến không còn tồn tại
user_list = [212, 215, 387, 598, 610] user_dict = {212: 'Tom', 215: 'Amy', 387: 'Rob', 598: 'Carl', 610: 'Raj'} print(user_list) print(user_dict)5💡Lưu ý. Câu lệnh user_list = [212, 215, 387, 598, 610] user_dict = {212: 'Tom', 215: 'Amy', 387: 'Rob', 598: 'Carl', 610: 'Raj'} print(user_list) print(user_dict)6 thứ hai không thực thi khi quá trình thực thi kết thúc sau khi tập lệnh nhận được lỗi
Từ điển Python – Hướng dẫn cơ bản
Xem video này trên YouTube
Phương pháp 3. Xóa chức năng khỏi bộ nhớ
Ví dụ này sử dụng từ khóa puzzles_solved = 12975 print(puzzles_solved)4 để xóa một chức năng hiện có khỏi bộ nhớ
def add_me(a, b): return a+b print(add_me(2,3)) del add_me print(add_me(2,3))Ở trên định nghĩa hàm user_list = [212, 215, 387, 598, 610] user_dict = {212: 'Tom', 215: 'Amy', 387: 'Rob', 598: 'Carl', 610: 'Raj'} print(user_list) print(user_dict)8 cộng hai (2) số và trả về kết quả. Kết quả được xuất ra thiết bị đầu cuối
5Chức năng này sau đó sẽ bị xóa bằng cách sử dụng từ khóa puzzles_solved = 12975 print(puzzles_solved)4. Gửi đầu ra đến thiết bị đầu cuối sẽ hiển thị thông báo puzzles_solved = 12975 del puzzles_solved print(puzzles_solved)2. Chức năng không còn tồn tại
user_list = None user_dict = None print(user_list) print(user_dict)1Phương pháp 4. Xóa các đối tượng do người dùng xác định bằng dir() và globals()
Ví dụ này xóa Đối tượng do Người dùng Xác định bằng các hàm puzzles_solved = None print(puzzles_solved)2 và puzzles_solved = None print(puzzles_solved)3
def add_me(a, b): return a+b def subtract_me(a, b): return a-b print(dir())Ở trên khai báo hai (2) hàm, user_list = None user_dict = None print(user_list) print(user_dict)4 vàuser_list = None user_dict = None print(user_list) print(user_dict)5. Cả hai đều trả về một kết quả được tính toán
Sau khi chạy mã này, các chức năng này sẽ tồn tại trong bộ nhớ. Kết quả của puzzles_solved = None print(puzzles_solved)2 được gửi đến thiết bị đầu cuối để xác nhận điều này
user_list = None user_dict = None print(user_list) print(user_dict)7Nếu được sử dụng không có đối số, thì hàm puzzles_solved = None print(puzzles_solved)2 tích hợp sẵn của Python sẽ trả về tên hàm và tên biến được xác định trong phạm vi cục bộ—không gian tên của mô-đun hiện tại của bạn
Nếu được sử dụng với đối số đối tượng, user_list = None user_dict = None print(user_list) print(user_dict)9 trả về danh sách tên thuộc tính và phương thức được xác định trong phạm vi của đối tượng. Do đó, puzzles_solved = None print(puzzles_solved)2 trả về tất cả các tên trong một phạm vi nhất định
🌍 Nguồn. Học viện Finxter
for el in dir(): if el[0:2] != "__": del globals()[el]Vòng lặp del user_list del user_dict print(user_list) print(user_dict)1 sau đây lặp qua từng phần tử trong kết quả puzzles_solved = None print(puzzles_solved)2. Nếu hai (2) ký tự đầu tiên bắt đầu bằng del user_list del user_dict print(user_list) print(user_dict)3 thì (các) phần tử bị bỏ qua
Nếu không phải như vậy, đoạn mã này sẽ xóa phần tử (del user_list del user_dict print(user_list) print(user_dict)4) bằng cách sử dụng hàm puzzles_solved = None print(puzzles_solved)3 bằng cách nối thêm phần tử (del user_list del user_dict print(user_list) print(user_dict)6) để xóa
Kết quả của puzzles_solved = None print(puzzles_solved)2 được gửi đến thiết bị đầu cuối để xác nhận việc xóa
del user_list del user_dict print(user_list) print(user_dict)8💡Lưu ý. Hai (2) chức năng được tạo trước đó đã bị xóa. Tuy nhiên, biến del user_list del user_dict print(user_list) print(user_dict)4 hiện nằm trong bộ nhớ
Python dir() — Hướng dẫn đơn giản bằng video
Xem video này trên YouTube
Phương pháp 5. Sử dụng thư viện gc
Ví dụ này nhập thư viện def add_me(a, b): return a+b print(add_me(2,3)) del add_me print(add_me(2,3))0. Thư viện này, còn được gọi là bộ thu gom rác thế hệ, theo dõi tất cả các đối tượng trong bộ nhớ
Nếu thư viện ________44_______0 chưa được cài đặt trên máy tính, hãy nhấp vào đây để được hướng dẫn
puzzles_solved = 12975 print(puzzles_solved)0Ở trên, nhập thư viện def add_me(a, b): return a+b print(add_me(2,3)) del add_me print(add_me(2,3))2
Sau đó, một danh sách hư cấu Người dùng Finxter được khai báo và lưu vào puzzles_solved = 12975 del puzzles_solved print(puzzles_solved)6. Dòng sau xóa cái này
Sau đó, hàm def add_me(a, b): return a+b print(add_me(2,3)) del add_me print(add_me(2,3))4 được gọi và kết quả được xuất ra thiết bị đầu cuối
def add_me(a, b): return a+b print(add_me(2,3)) del add_me print(add_me(2,3))5Lưu ý, lớp puzzles_solved = None print(puzzles_solved)4 hiển thị
Dòng sau xóa lớp này. Đầu ra được gửi đến thiết bị đầu cuối
def add_me(a, b): return a+b print(add_me(2,3)) del add_me print(add_me(2,3))7🧩Thử thách Finxter
Bạn sẽ xóa del user_list
del user_dict
print(user_list)
print(user_dict)4 đã sử dụng Phương pháp 4 như thế nào?
Tóm lược
Năm (5) phương pháp xóa biến và đối tượng khỏi bộ nhớ này sẽ cung cấp cho bạn đủ thông tin để chọn phương pháp tốt nhất cho yêu cầu mã hóa của bạn