Saya telah mencari jawaban akurat untuk pertanyaan ini selama beberapa hari sekarang tetapi belum mendapatkan hasil yang baik. Saya bukan seorang pemula yang lengkap dalam pemrograman, tetapi bahkan belum berada di tingkat menengah.
Ketika saya berada di shell Python, saya mengetik: dir()
dan saya dapat melihat semua nama dari semua objek dalam lingkup saat ini (blok utama), ada 6 di antaranya:
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
Kemudian, ketika saya mendeklarasikan sebuah variabel, misalnya x = 10
, itu secara otomatis menambahkan ke daftar objek di bawah modul bawaan dir()
, dan ketika saya mengetik dir()
lagi, itu menunjukkan sekarang:
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'x']
Hal yang sama berlaku untuk fungsi, kelas, dan sebagainya.
Bagaimana cara menghapus semua objek baru tanpa menghapus standar 6 yang tersedia di awal?
Saya telah membaca di sini tentang "pembersihan memori", "pembersihan konsol", yang menghapus semua teks dari jendela prompt perintah:
>>> import sys
>>> clear = lambda: os.system('cls')
>>> clear()
Tapi semua ini tidak ada hubungannya dengan apa yang saya coba capai, itu tidak membersihkan semua objek yang digunakan.
del
fungsi di luar sana. Saya mulai belajar Python dan sering harus bereksperimen di shell, jadi nama variabel standar seperti x
atau y
sering digunakan dan memulai ulang shell membutuhkan waktu 15 detik lagi untuk melakukannya (saya memiliki laptop yang sangat, sangat tua sekarang). Jadi saya ingin menemukan cara untuk membersihkan memori Python lebih cepat.
del
sebenarnya bukan fungsi, karenanya tidak (
dan )
. Ini adalah kata kunci yang memperkenalkan pernyataan del. Tentu saja, cara menghapus suatu objek mungkin melibatkan fungsi, tapi itu cerita lain ...
x
atau y
tidak boleh digunakan kecuali Anda menggunakannya. Atau kecuali Anda melakukan sesuatu yang konyol from _somemodule_ import *
, maka Anda akan mendapatkan segala macam sampah yang mengacaukan tempat itu. :)