del
Инструкция удаляет переменные, элементы, ключи, срезы и атрибуты.
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()
Синонимы поиска: del, delete, удалить
В разделе «Simple Statements (простые инструкции, операторы)»:
assert
pass
raise
with
Арифметические операторы
На заметку
У нас есть новостная группа в Telegram. Там же можно обсудить интересующие вопросы. Ссылка в самом низу страницы.