【Python的del函数(?!)】

握草 2018-01-03 04:55:05
疑问:

1. Python的del是函数吗?
2. 如果问题一的答案是“是”,那么为什么del不加「小括号」?
e.g.
del list[3] #这样不伦不类的写法,和以前的print 「语句」有的一拼
...全文
993 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ForestDB 2018-01-04
  • 打赏
  • 举报
回复
https://docs.python.org/3/reference/simple_stmts.html#the-del-statement 所以说它是语句。
混沌鳄鱼 2018-01-03
  • 打赏
  • 举报
回复
明确地说,del是操作命令不是函数 至于是使用函数调用方式还是用命令的方式这并不重要, 比如python2 里面 print 是命令,python3里print()就成函数了,但是背后实现的机制并没有什么不同。 理解del的关键点是:del做了什么,怎么做的。 在Python中所有的东西都是对象,但是实际上del操作 并不删除对象,只是删除变量的引用。 对象自身有一个引用计数器,del操作只是造成引用计数器减1,当引用计数器为0时,由解释器的垃圾回收机制回收清除对象。

>>> a = b = 1
>>> a = b = 1000
>>> id(a),id(b)
(47747312, 47747312)
>>> del a
>>> b
1000
>>> id(b)
47747312
>>> 

握草 2018-01-03
  • 打赏
  • 举报
回复
饿,说一下。我的意思就是说Python3.0以前的print是以语句的形式出现~有点儿不像函数,没别的意思啊。。。
sanGuo_uu 2018-01-03
  • 打赏
  • 举报
回复
函数是个很广的概念,并没有规定后面跟括号是 它是函数 的必要条件。 那del到底是不是函数呢,不知道啊。算是吧。 我以前用python2,感觉print挺好用的啊

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧