| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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) 
找到了就返回 
贰 
是的 
 
 
 |   
 
 
 
 |