【小白从小学Python、C、Java】
【Python全国计算机等级考试】
【Python数据分析考试必会题】
● 标题与摘要
Python中用于删除变量的语句
del语句

● 选择题
以下代码输出?
list = [{1},"2",(3)]
del list[1:3]
print(list)
A [{1},"2",(3)]
B ["2",(3)]
C [{1}]
D name 'list' is not defined

● 问题解析
1.del关键字用于删除变量。
1.1 什么是变量?
在Python中,变量是一个存储盒,里面放着数据,外面贴着变量名。我们使用变量名来访问盒子中的数据。
1.2 用del关键字删除变量x的语法:(运行结果见图1)
del x
删除后,再调用对象x则会提示NameError:name 'x' is not defined,即x没有被定义。说明变量x已被删除。
1.3 用del语句的删除变量x的原理解释
根据1.2的例子,对于贴着'x'变量名的盒子,我们用del语句撕掉了盒子上的'x',因此我们不能再用被撕掉的'x'来访问盒子里的数据,也就是变量'x'被删除了。
2.用del语句删除变量和删除数据的关系;
一个盒子上可以贴多个变量名,意思是这些变量名都可以来访问盒子里的数据。当盒子上最后一个变量名被撕下,Python就会将数据视为垃圾,启用自动垃圾回收机制(GC)删除数据,这时del语句间接地删除了数据。
3.本题用del语句删除了列表list片段,list[1:3]表示从左往右数位序为1到3(不包含)的元素,是"2"和(3)。删除后,list的元素是{1},输出list的结果是[{1}]。(运行结果见图1)

● 附图
图1:题目代码的运行结果及用del删除变量x并检验

del函数 python3 del语句python_python

 图2:用del删除变量举例partⅠ

del函数 python3 del语句python_del函数 python3_02

图3:用del删除变量举例partⅡ

del函数 python3 del语句python_Python_03

 
● 附图代码

>题目代码的运行结果--用del删除列表片段
 list = [{1},"2",(3)]
 del list[1:3]
 print(list)>用del删除变量x,并检验x已删除
 x = 1 # 定义x
 print("变量x的值是",x)
 del x # 删除x
 print("检验x已删除:",x)
 >用del删除变量举例
 MyStr = "string"
 MyList = [1,2,3]
 MyTuple = (1,2,3)
 MySet = {1,2,3}
 MyDict = {1:"a",2:"b"}
 print("定义指向字符串的变量:",MyStr,
 "\n定义指向列表的变量:",MyList,
 "\n定义指向元组的变量:",MyTuple,
 "\n定义指向集合的变量:",MySet,
 "\n定义指向字典的变量:",MyDict,
 )
 del MyStr,MyList,MyTuple,MySet,MyDict # 用del语句删除变量
 print("检验指向字符串的变量:",MyStr)
 print("检验指向列表的变量:",MyList)
 print("检验指向元组的变量:",MyTuple)
 print("检验指向集合的变量:",MySet)
 print( "检验指向字典的变量:",MyDict)

● 正确答案
C