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 одновременно из трёх списков
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()
Если у вас есть, что сказать, можете представиться и исправить ситуацию.