我有一个有趣的(可能是愚蠢的)想法:如果我使用内置函数名作为变量来分配一些对象(比如整数)会发生什么.这是我试过的:
>>> a = [1,2,3,4]
>>> len(a)
4
>>> len = 1
>>> len(a)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: 'int' object is not callable
Run Code Online (Sandbox Code Playgroud)
好像python不会以不同方式处理函数和变量名.如果没有重新启动python解释器,有没有办法分配len回函数?或者取消分配len = 1?
Chr*_*our 18
用途del len:
>>> a=[1,2,3,4]
>>> len=15
>>> len(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
>>> del len
>>> len(a)
4
Run Code Online (Sandbox Code Playgroud)
删除名称将删除该名称与本地或全局名称空间的绑定,具体取决于名称是否出现在同一代码块中的全局语句中.如果名称未绑定,则将引发NameError异常
Jak*_*yer 12
从技术上讲,你可以从它回来 __builtin__
from __builtin__ import len
Run Code Online (Sandbox Code Playgroud)
但是请不要说出任何东西len,这会让明智的程序员生气.
好的,首先不要在内置函数之后命名变量,其次如果你想尊重其他函数,那么请尊重命名空间,例如
import time
time.asctime()
asctime = 4253
time.asctime() # Notice that asctime here is unaffected as its inside the time module(s) namespace
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1653 次 |
| 最近记录: |