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

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

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

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

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.