Как очистить переменную python
На этом шаге мы рассмотрим особенности выполнения этой операции .
Удалить переменную можно с помощью инструкции del :
del Переменная1> [, . ПеременнаяN>]
Пример удаления одной переменной:
>>> x = 10; x 10 >>> del x; x Traceback (most recent call last): File "", line 1, in del x; x NameError: name 'x' is not defined
Пример удаления нескольких переменных:
>>> x, y = 10, 20 >>> del x, y
Со следующего шага мы начнем рассматривать операции .
Как очистить переменную python
del от delete (англ.) — удалить.
del name
del name[i]
del name[i:j:k]
del name.attribute
На заметку
В первой форме name — это имя переменной, взятое буквально. В последних трех формах name может являться выражением.
- Удаление нескольких целей рекурсивно удаляет каждую цель слева направо.
- Удаление имени удаляет привязку этого имени из локального или глобального пространства имен (в зависимости от того, были ли определено имя при помощи инструкции global в том же блоке кода). Если имя не привязано, возбуждается исключение NameError.
- Удаление ссылок на атрибуты, элементов и срезов передаётся базовому объекту (носителю) и осуществляется им. Удаление среза, в целом, эквивалентно присвоению пустого среза (однако и оно определяется самим объектом среза).
| del variable | удаление переменной |
| del obj.attr | удаление атрибута |
| del data[k] | удаление элемента по индексу |
| del data[i:j] | удаление элементов по срезу |
my_list = [123, 'spam', 1.23, 'NI']
del my_list[2]
my_list # [123, 'spam', 'NI']
another_list = ['abc', my_list, 42]
del another_list[1][2] # удаляем ‘NI’ из вложенного списка my_list
my_list # [123, 'spam']
list_one = ['spam', 1, 11, 111]
list_two = [2, 22, 'spam', 222]
list_three = [3, 'spam', 33, 333]
del list_one[0], list_two[2], list_three[1] # удаляем spam одновременно из трёх списков
+py3.2: Разрешено удаление имени из локального пространства имён, если оно используется во вложенном блоке как несвязанное (не было определено в рамках того же блока). Ранее в таких случаях возбуждалось SyntaxError:
def print_done():
some = 'some'
del some
# До Python 3.2 в подобных случаях инструкция вызывает SyntaxError:
# can not delete variable 'some' referenced in nested scope
def print_some():
print(some)
print('done')
print_done()
Очистить переменную в Python
var = None «очищает значение», устанавливая значение переменной на «null» как значение «None», однако указатель на переменную остается. del var полностью удаляет определение для переменной. Если вы хотите использовать переменную позже, например, установить новое значение для нее, то есть сохранить переменную, None будет лучше.
Поделиться 14 июня 2014 в 19:27
На самом деле, это не удаляет переменную/свойство. Все, что она сделает, это установит ее значение None , поэтому переменная все еще займет место в памяти. Если вы хотите полностью очистить все существование переменной из памяти, вы можете просто ввести:
del self.left
Поделиться 05 сентября 2015 в 21:35
- Если вы хотите полностью удалить его, используйте del :
del your_variable
your_variable = None
your_variable.clear()
Тогда ваш_переменный будет пустым
Поделиться 23 сентября 2018 в 06:07
Удалите его содержимое, установив его на None , а затем del , чтобы удалить его указатель из памяти
variable = None; del variable
Поделиться 28 июня 2021 в 13:58
Вы хотите удалить переменную, не так ли?
Хорошо, я думаю, у меня есть лучшая альтернатива ответу @bnaul:
Вы можете удалить отдельные имена с помощью del :
del x
или вы можете удалить их из объекта globals() :
for name in dir(): if not name.startswith('_'): del globals()[name]
Это всего лишь пример цикла; он защищенно удаляет только имена, которые не начинаются с подчеркивания, делая (не необоснованное) предположение, что вы использовали только имена без подчеркивания в начале вашего интерпретатора. Вы можете использовать жестко закодированный список имен, чтобы сохранить его вместо этого (белый список), если вы действительно хотите быть основательными. Нет встроенной функции, которая могла бы сделать очистку для вас, кроме как просто выйти и перезапустить интерпретатор.
Модули, которые вы импортировали (например, import os ), останутся импортированными, потому что они ссылаются на sys.modules ; последующие импорты будут использовать уже импортированный объект модуля повторно. У вас просто не будет ссылки на них в вашем текущем глобальном пространстве имен.
6) Переменные в Python
Переменная Python является зарезервированной ячейкой памяти для хранения значений. Другими словами, переменная в программе Python передает данные на компьютер для обработки.
Каждое значение в Python имеет тип данных. Различные типы данных в Python: Numbers, List, Tuple, Strings, Dictionary и т. Д. Переменные могут быть объявлены любым именем или даже алфавитами, такими как a, aa, abc и т. Д.
В этом уроке мы узнаем,
- Как объявить и использовать переменную
- Повторно объявить переменную
- Объединенные переменные
- Локальные и глобальные переменные
- Удалить переменную
Как объявить и использовать переменную
Давай посмотрим пример. Мы объявим переменную «а» и напечатаем ее.
a=100 print (a)
Повторно объявить переменную
Вы можете повторно объявить переменную даже после того, как объявили ее один раз.
Здесь у нас есть переменная, инициализированная к f = 0.
Позже мы переназначим переменную f на значение «guru99»
Пример Python 2
# Declare a variable and initialize it f = 0 print f # re-declaring the variable works f = 'guru99' print f
Пример Python 3
# Declare a variable and initialize it f = 0 print(f) # re-declaring the variable works f = 'guru99' print(f)
Объединенные переменные
Посмотрим, сможете ли вы объединить разные типы данных, такие как строка и число, вместе. Например, мы объединяем «Гуру» с номером «99».
В отличие от Java, который объединяет число со строкой, не объявляя число как строку, Python требует, чтобы число было объявлено как строка, иначе будет отображаться ошибка TypeError
Для следующего кода вы получите неопределенный вывод —
a="Guru" b = 99 print a+b
После того, как целое число объявлено как строка, оно может объединить оба «Guru» + str («99») = «Guru99» в выходных данных.
a="Guru" b = 99 print(a+str(b))
Локальные и глобальные переменные
В Python, когда вы хотите использовать ту же переменную для остальной части вашей программы или модуля, вы объявляете ее глобальной переменной, а если вы хотите использовать переменную в определенной функции или методе, вы используете локальную переменную.
Давайте поймем эту разницу между локальной и глобальной переменной с помощью приведенной ниже программы.
- Переменная «f» является глобальной в области видимости и ей присваивается значение 101, которое выводится на выходе
- Переменная f снова объявлена в функции и предполагает локальную область видимости. Ему присваивается значение «я изучаю Python». который распечатан в качестве вывода. Эта переменная отличается от глобальной переменной «f», определенной ранее
- После завершения вызова функции локальная переменная f уничтожается. В строке 12, когда мы снова выводим значение «f», оно отображает значение глобальной переменной f = 101
Пример Python 2
# Declare a variable and initialize it f = 101 print f # Global vs. local variables in functions def someFunction(): # global f f = 'I am learning Python' print f someFunction() print f
Пример Python 3
# Declare a variable and initialize it f = 101 print(f) # Global vs. local variables in functions def someFunction(): # global f f = 'I am learning Python' print(f) someFunction() print(f)
Используя ключевое слово global, вы можете ссылаться на глобальную переменную внутри функции.
- Переменная «f» является глобальной в области видимости и ей присваивается значение 101, которое выводится на выходе
- Переменная f объявляется с использованием ключевого слова global . Это НЕлокальная переменная , но та же глобальная переменная , объявленная ранее. Следовательно, когда мы печатаем его значение, результат равен 101
Мы изменили значение «f» внутри функции. После завершения вызова функции измененное значение переменной «f» сохраняется. В строке 12, когда мы снова выводим значение «f», оно отображает значение «изменение глобальной переменной»
Пример Python 2
f = 101; print f # Global vs.local variables in functions def someFunction(): global f print f f = "changing global variable" someFunction() print f
Пример Python 3
f = 101; print(f) # Global vs.local variables in functions def someFunction(): global f print(f) f = "changing global variable" someFunction() print(f)
Удалить переменную
Вы также можете удалить переменную с помощью команды del «имя переменной».
В приведенном ниже примере мы удалили переменную f, и когда мы приступили к ее печати, мы получили ошибку « имя переменной не определено », что означает, что вы удалили переменную.
f = 11; print(f) del f print(f)
Резюме:
- Переменные называются «конверт» или «контейнеры», где информация может поддерживаться и ссылаться. Как и любой другой язык программирования, Python также использует переменную для хранения информации.
- Переменные могут быть объявлены любым именем или даже алфавитом, например, aa, abc и т. Д.
- Переменные могут быть повторно объявлены даже после того, как вы объявили их один раз
- В Python вы не можете объединить строку с номером напрямую, вам нужно объявить их как отдельную переменную, и после этого вы можете объединить число со строкой
- Объявите локальную переменную, когда хотите использовать ее для текущей функции
- Объявите глобальную переменную, когда вы хотите использовать ту же переменную для остальной части программы