Python 3 удаление переменной

Содержание
  1. Ключевое слово Python del [С Примерами]
  2. Ключевое слово Python del [С Примерами]
  3. Как удалить или удалить элемент в Python
  4. Что такое Python del?
  5. Синтаксис Python dev
  6. Возвращаемое значение Python dev
  7. Момент, Который Следует Отметить
  8. Примеры инструкций Python dev
  9. Пример 1: Удаление переменной
  10. Пример 2: Удаление первого элемента в списке
  11. Объяснение:
  12. Пример 3: Удаление последнего элемента в списке
  13. Объяснение:
  14. Пример 4: Удаление пользовательского объекта
  15. Пример 5: Удаление всех элементов в диапазоне
  16. Объяснение:
  17. Пример 6: Программа Python для удаления ключа из словаря
  18. Python del: Дополнительные советы, замечания и примеры
  19. Разница между remove, Python dev и pop в Python
  20. Пример remove, Python dev и pop
  21. Время выполнения
  22. Какой самый лучший способ удалить элемент в списке?
  23. Разница между Python del и Присвоением None
  24. Когда я должен и не должен использовать ключевое слово del в Python?
  25. Должен Читать:
  26. Вывод
  27. Читайте ещё по теме:
  28. How to delete or clear variable from memory in Python?
  29. The del keyword
  30. The gc.collect() method in Python

Ключевое слово Python del [С Примерами]

Основная цель Python dev – удалить объекты в программировании python. Здесь объектом могут быть переменные, списки или части списка.

Ключевое слово Python del [С Примерами]

Все в Python является объектом, и почти все имеет атрибуты и методы. Таким образом, основная цель Python dev-удалить объекты на языке программирования python. Здесь объектом могут быть переменные, списки или части списка и т. Д.

Каждый объект является любым типом объекта Python. Обычно это переменные, но они могут быть функциями, модулями, классами.

Оператор del работает путем развязывания имени, удаляя его из набора имен, известных интерпретатору Python. Если эта переменная была последней оставшейся ссылкой на объект, то объект будет удален из памяти. Если, с другой стороны, другие переменные все еще ссылаются на этот объект, объект не будет удален.

Как удалить или удалить элемент в Python

Существует 3 различных способа удаления или удаления элементов в Python.

Но в этом уроке мы узнаем о работе Python del.

Что такое Python del?

Python del обычно используется для удаления переменной из локального или глобального пространства имен. Это используется для восстановления памяти из данных, которые больше не нужны.

Синтаксис Python dev

Здесь del – это ключевое слово Python. Кроме того, obj_name может быть переменными, определяемыми пользователем объектами, списками, элементами в списках, словарями и т. Д.

Возвращаемое значение Python dev

Оператор Python dev ничего не возвращает.

Момент, Который Следует Отметить

Оператор del можно использовать для удаления элемента из списка, ссылаясь на его индекс, а не на его значение.

Теперь давайте перейдем непосредственно к примерам и проверим работу Python del statement.

Примеры инструкций Python dev

Давайте рассмотрим несколько примеров оператора del и попробуем удалить некоторые объекты.

Пример 1: Удаление переменной

 File "c:/Users/Karan/Desktop/test.py", line 5, in print(var) NameError: name 'var' is not defined

Здесь вывод вышеприведенного примера “var” не определен. В этом примере мы получаем ошибку, потому что оператор Python del удаляет переменную. И теперь в памяти нет переменной с именем var .

Пример 2: Удаление первого элемента в списке

list = ["Learn", "Python", "Pool"] del list[0] print(list)

Объяснение:

В приведенном выше примере сначала мы создали наш список с именем list. Приведенный выше список содержит три элемента ( learn, python, pool ). После этого мы удалили первый элемент списка с помощью оператора del list[0]. Затем мы распечатали список после удаления первого элемента списка.

Читайте также:  Unique page title - My Site

Пример 3: Удаление последнего элемента в списке

list = ["Learn", "Python", "Pool"] del list[-1] print(list)

Объяснение:

В приведенном выше примере сначала мы создали наш список с именем list. Приведенный выше список содержит три элемента ( learn, python, pool ). После этого мы удалили последний элемент списка с помощью оператора del list[-1]. Затем мы распечатали список после удаления последнего элемента списка.

Пример 4: Удаление пользовательского объекта

Python Программа для удаления объекта класса с помощью Python del.

# Python Program to Delete a class's object # defining a class class student: # declaring object to the student class() # printing values print("Name: ", std.name) print("Age: ", std.age) # deleting the object del std # printing values - will generate NameError print("Name: ", std.name) print("Age: ", std.age)
Name: Karan Age: 22 Traceback (most recent call last): File "c:/Users/Karan/Desktop/test.py", line 19, in print("Name: ", std.name) NameError: name 'std' is not defined

В приведенном выше примере мы удалили объект std с помощью del std. Впервые мы получаем желаемый результат. Это происходит потому, что мы не использовали ключевое слово del. Но после использования del std в нашем объекте. Мы получили ошибку имени, так как объект удален из памяти.

Пример 5: Удаление всех элементов в диапазоне

# initializing list lis = [16, 1, 34, 15, 904, 'Python', 'Pool'] # using del to delete elements from pos. 2 to 5 # deletes 34, 15, 904 del lis[2 : 5] print(lis)

Объяснение:

Итак, в этом примере мы инициализировали список из 7 элементов. Затем мы удалили элементы в позиции 2-5. С помощью нарезки и Python del ключевое слово.

Пример 6: Программа Python для удаления ключа из словаря

Dict = print(Dict) if 'x' in Dict: del Dict['x'] print(Dict)

В приведенном выше примере мы удалили пару ключ: значение из словаря. Изначально у нас в словаре есть 4 пары. После удаления ключа словаря x у нас есть только 3 элемента в словаре.

Python del: Дополнительные советы, замечания и примеры

Вы не можете удалить элементы кортежей и строк. Это потому, что кортежи и строки неизменны; объекты, которые не могут быть изменены после его создания.

 my_tuple = (1, 2, 3) # Error: 'tuple' object doesn't support item deletion del my_tuple[1]

Однако вы можете удалить весь кортеж или строку целиком.

my_tuple = (1, 2, 3) # deleting tuple del my_tuple

Разница между remove, Python dev и pop в Python

  • remove() удаляет соответствующий элемент/объект, тогда как del и pop удаляют элемент с определенным индексом.
  • del и pop имеют дело с индексом. Единственное различие между ними заключается в том, что- pop return удалил значение из списка, а del ничего не возвращает.
  • Pop-это единственный способ вернуть объект.
  • Remove-это единственный объект, который ищет объект (а не индекс).

Вкратце: Используйте del для удаления элемента по индексу, pop для удаления его по индексу, если вам нужно возвращаемое значение, и remove для удаления элемента по значению.

Пример remove, Python dev и pop

# (1) Remove an item with index A = [1, 2, 4, 3, 4] A.remove(4) # This will print [1, 2, 3, 4] print("Example 1 : A = <>".format(A)) # (2) Delete an item with index A = [1, 2, 4, 3, 4] del A[2] # This will print [1, 2, 3, 4] print("Example 2 : A = <>".format(A)) # (3) Delete all items A = [1, 2, 4, 3, 4] del A[:] # This will print [] print("Example 3 : A = <>".format(A)) # (4) Delete a slice 2, 4 A = [1, 2, 4, 3, 4] del A[1:3] # This will print [1, 3, 4] print("Example 4 : A = <>".format(A)) # (5) pop: remove and get the last item A = [1, 2, 4, 3, 4].pop() # This will print [1, 2, 4, 3] print("Example 5 : A = <>".format(A)) # This will print 4 print("Example 5 : x = <>".format(x)) # (6) pop with index: remove and get the second item A = [1, 2, 4, 3, 4].pop(1) # This will print [1, 4, 3, 4] print("Example 6 : A = <>".format(A)) # This will print 2 print("Example 6 : x = <>".format(x))
Example 1 : A = [1, 2, 3, 4] Example 2 : A = [1, 2, 3, 4] Example 3 : A = [] Example 4 : A = [1, 3, 4] Example 5 : A = [1, 2, 4, 3] Example 5 : Example 6 : A = [1, 4, 3, 4] Example 6 :

Время выполнения

Вычислительная сложность (т. е. время выполнения или Big-O) выглядит следующим образом:

Читайте также:  Javascript convert hex string to string

Обратите внимание, что эти времена выполнения являются наихудшими сценариями. Например, удаление элемента в начале списка занимает постоянное время.

Какой самый лучший способ удалить элемент в списке?

  • Если вы хотите удалить определенный объект из списка, используйте метод remove.
  • Если вы хотите удалить объект в определенном месте (индексе) в списке, вы можете использовать del или pop.
  • Используйте pop, если вы хотите удалить и получить объект в определенном месте.

Разница между Python del и Присвоением None

Разница в том, что освободит все, на что ссылается, но сохранит имя, даже если оно просто ссылается на None (что является типом, NoneType).

С другой стороны, del x полностью удалит как имя, так и то, на что оно ссылается. Если после этого вы попытаетесь использовать x, будет выброшен NameError (или AttributeError в случае свойства объекта).

Таким образом, на практике, назначая None имени, вы все равно можете использовать его в выражениях, в то время как при использовании del имя полностью удаляется. В первом случае несколько href=”https://en.wikipedia.org/wiki/Byte”>байты необходимы для сохранения имени в памяти, в то время как более поздние полностью очищают все использование памяти. href=”https://en.wikipedia.org/wiki/Byte”>байты необходимы для сохранения имени в памяти, в то время как более поздние полностью очищают все использование памяти.

Когда я должен и не должен использовать ключевое слово del в Python?

Используйте оператор ‘del’, когда вы хотите удалить элемент из списка, и вы знаете, что вам никогда больше не нужно будет ссылаться на этот элемент.

Если вы хотите по какой-либо причине удержать удаленный элемент списка, используйте вместо этого метод “pop”.

Должен Читать:

  • Как преобразовать строку в нижний регистр в
  • Как вычислить Квадратный корень
  • Пользовательский ввод | Функция ввода () | Ввод с клавиатуры
  • Лучшая книга для изучения Python в 2020 году

Вывод

Python del-это полезное ключевое слово. Поначалу его синтаксис может сбить с толку. Но как только мы используем dell больше как оператор, а не вызов метода, это легко запомнить.

Удаление рекурсивно определяется очень похоже на то, как определяется назначение. Вместо того чтобы излагать его во всех подробностях, вот несколько советов. Удаление списка целей рекурсивно удаляет каждую цель слева направо.

Попробуйте запустить программы на вашей стороне и дайте мне знать, если у вас есть какие-либо вопросы.

Читайте ещё по теме:

Источник

How to delete or clear variable from memory in Python?

Computer memory is very important not just for storing data, code and instructions but also for the system’s performance. Variables are the simplest and most basic storage units. You must be knowing that Python variables are dynamically typed, i.e, they are declared as and when they are assigned/used.

Читайте также:  Python печать переноса строки

Sometimes, even though you assigned a variable with some value in the program, you may realize later that that variable is not necessary. In such a scenario, you will want to delete that variable both from your program as well as your memory.
In this tutorial, you will understand how to delete a variable from the memory space in Python.

The del keyword

It is used to simply delete any Python object. (variables,arrays,lists,dictionaries etc).
Syntax: del(element to be deleted)

You can look into the below-coded example to understand this better.

Example 1: Deleting a variable

--------------------------------------------------------------------------- NameError Traceback (most recent call last) in  2 print(a) 3 del(a) ----> 4 print(a) NameError: name 'a' is not defined

Note: The del method can be used not just with variables but with all Python objects like arrays, lists, dictionaries etc.

Example 2: Deleting a list

--------------------------------------------------------------------------- NameError Traceback (most recent call last) in  2 print(a) 3 del(a) ----> 4 print(a) NameError: name 'a' is not defined

In this case, the program returns a NameError exception. This is because the variable you are trying to access no longer exists in the variable namespace.

However, the above del method only removes the variable from the namespace. It does not remove the variable from the memory space.

Well, so how do we permanently remove the variable and clear its memory?

The gc.collect() method in Python

The del method does not clear the variable from the memory. Hence, to clear the variable from memory you can resort to the gc.collect() method.
The gc.collect() method forces an immediate garbage collection of all generations. You can invoke the garbage collector as demonstrated below.

Example 1: Deleting a variable

import gc a=10 print(a) del(a) gc.collect() print(a)
NameError Traceback (most recent call last) in  4 del(a) 5 gc.collect() ----> 6 print(a) NameError: name 'a' is not defined

In this case, you are deleting a from the memory space itself.

Just like the del method, you can invoke the gc.collect() for clearing the memory of not just variables but for all Python objects.

Example 2: Deleting a dictionary

import gc a= print(a) del(a) gc.collect() print(a)
--------------------------------------------------------------------------- NameError Traceback (most recent call last) in  4 del(a) 5 gc.collect() ----> 6 print(a) NameError: name 'a' is not defined

Thus, you can use a combination of del() and gc.collect() to clear the variable from Python memory.

On a side note, though not very relevant, you can use the dir() method to get a list of the names of all the objects in the current scope.

['__', '___', '__builtin__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '_i', '_i7', '_ii', '_iii', 'a']
a = 5 print(dir()) del a print(dir())
['__', '___', '__builtin__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '_i', '_i10', '_i9', '_ii', '_iii', 'a'] ['__', '___', '__builtin__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', '_i', '_i10', '_i9', '_ii', '_iii']

Источник

Оцените статью