Tôi có nên xóa các biến python không?

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)3

Bà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

12975

Tuy 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)3

Phươ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)0

Tuy 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)2

Từ 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

5

Chứ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)1

Phươ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)7

Nế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))5

Lư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

Tại sao bạn nên xóa các biến ở cuối tập lệnh của mình?

Lợi ích của việc xóa biến Giải phóng bộ nhớ do biến đó chiếm giữ trong bộ nhớ . Sau khi xóa biến, RAM có thể được sử dụng cho các tác vụ nặng khác (như đọc tệp, tải hình ảnh, v.v.). )

Sử dụng del trong Python có tốt không?

Từ khóa del trong python chủ yếu được dùng để xóa các đối tượng trong Python . Vì mọi thứ trong python đại diện cho một đối tượng theo cách này hay cách khác, từ khóa del cũng có thể được sử dụng để xóa danh sách, cắt danh sách, xóa từ điển, xóa cặp khóa-giá trị khỏi từ điển, xóa biến, v.v.

2 quy tắc cho các biến trong Python là gì?

Quy tắc cho biến Python. Tên biến phải bắt đầu bằng một chữ cái hoặc ký tự gạch dưới . Tên biến không được bắt đầu bằng số. Tên biến chỉ có thể chứa các ký tự chữ và số và dấu gạch dưới (A-z, 0-9 và _ )

Bạn có thể xóa các biến?

Nếu bạn chỉ muốn loại bỏ dữ liệu và không muốn loại bỏ thứ gì khác, bạn có thể sử dụng lệnh drop all . Lệnh drop được sử dụng để loại bỏ các biến hoặc quan sát khỏi tập dữ liệu trong bộ nhớ. Nếu bạn muốn loại bỏ các biến, hãy sử dụng drop varlist. Nếu bạn muốn loại bỏ các quan sát, hãy sử dụng drop với một từ hạn định if hoặc in hoặc cả hai.

Chủ đề