|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
str='a'
str([1,2,3])
Traceback (most recent call last):
File "<pyshell#56>", line 1, in <module>
str([1,2,3])
TypeError: 'str' object is not callable
第一个问题:
对于这种情况我是这么理解的,不知道对不对:
1.内置函数BIF也是当成一个变量名供python搜索的,python遇到str时,先搜索局部作用域,没有str这个变量,再去全局作用域搜索,找到了str这个变量,使用方式不是一个变量应该有的类型,所以报错
2.如果没有str='a'这个句子,那么python调用str函数的时候,也是先局部作用域搜索这个变量名,再去全局搜,找不到,最后再去内置作用域查找这个变量名,找到这个函数然后调用
第二个问题:
这些内置的BIF的名字,比如str,list,tuple等等,在调用他们的时候,python都是当作搜索变量名去搜索他们的吗
壹(1)
因为现在str是变量,所以变量不能和函数一样调用,所以报错
壹(2)
找到了就返回
贰
是的
|
|