据我所知,del a
和del(a)
似乎都有相同的效果。如果是这样的话,为什么Python允许del
作为语句和函数存在?Python:“del a”和“del(a)”之间是否有区别?
9
A
回答
12
del
总是一个声明。使用括号并不意味着你正在进行函数调用,但是你正在对表达式进行分组。 (1)
与1
相同。
+0
很明显,“(a)”和“a”也是一样的。参考OP的expample。 –
+0
@MarkusMeskanen当然,谢谢! – cdonts
0
感谢@Juhana的评论和@cdonts的回答。显然这里的括号不代表函数调用。这里是另一个例子:
In [40]: a=b=c=1
In [41]: del[a,(b,c)]
In [42]: b
Traceback (most recent call last):
File "<ipython-input-42-60b725f10c9c>", line 1, in <module>
b
NameError: name 'b' is not defined
相关问题
- 1. 当我想清空一个名为python的列表时,del a [:]和a = []之间的区别是什么?
- 2. a + = b和a = + b之间的区别是什么,a ++和++ a?
- 3. String [] a和String之间的区别... a
- 4. [:] = b和a = b [:]之间的区别? (Python)
- 5. a = a + b和a + = b之间的区别是什么?
- 6. Python - “a”和“a”的区别?
- 7. A * pA = new A之间的区别;和A * pA = new A();
- 8. A a有什么区别?和A a();?
- 9. java中a + = 10和a = a + 10之间的区别?
- 10. ES6对象方法分配之间的区别:a,'a'和['a']?
- 11. '(int)a','a as int'和C#中的Convert.ToInt32(a)之间的区别
- 12. a = a ||之间的区别b和a || = B
- 13. ||之间的区别a = b和a = a || b在红宝石?
- 14. * a = b和a =&b之间的区别是什么?
- 15. 声明“MyStuct a();”之间的区别是什么?和“MyStruct a”?
- 16. a [:] = b和a = b之间的区别是什么?
- 17. if($ a)和if($ a == 1)之间的区别是什么?
- 18. C中*(a [1])和*(* a + 1)之间的区别是什么?
- 19. a + b和.__之间的区别__(b)
- 20. 列表(a)和[a]之间有什么区别?
- 21. a // b和int(a/b)之间有什么区别?
- 22. $ a == 2和2 == $ a之间有什么区别?
- 23. 定义char a [5]和char(* a)[5]之间有什么区别?
- 24. 演员之间有什么区别:(A)x和x为A?
- 25. a == null和a === null之间有什么区别?
- 26. typedef char [4] A和typedef char(&A)[4]之间有什么区别?
- 27. a,&a和* a有什么区别?
- 28. pop()和del关键字的区别
- 29. 杰德的del()和flushAll()的区别
- 30. 区别:%% a和%variable%变量之间的区别是什么?
括号并不总是表示函数。你也可以做'1+(2)',但这并不意味着'1+'是一个函数。 – JJJ
这个问题既不清楚也不太宽泛,这只是对Python括号中的括号作用的误解,这并不是来自初学者的疯狂。 – DSM