2024-09-29 17:18:55 发布
网友
在第二次迭代中,下面的简单Python代码给出了一个错误:“str”是不可调用的
for i in range(1,3): print(i) str1="onestring"; str3="thirdstring"; str=str1+str(i)+str3; print(str);
我怎样才能解决这个问题
答案很简单。变量“str”既是变量名又是函数。将变量名“str”更改为任何其他名称可以解决此问题
您使用了str作为变量名。从而隐藏了内置的。 然后尝试在变量自己的定义中调用变量str(i)
str
str(i)
正如您刚才看到的,使用内置变量的名称是一个坏主意。它可能仅仅是为了用自己的版本替换内置的非常高级的目的
您可以在这里看到下面的简单示例http://ideone.com/z70iRn
orig_str = str def my_str(o): print("str called") return orig_str(o) str = my_str print(str(0))
请更改str变量,因为它是一个内置的Python变量
答案很简单。变量“str”既是变量名又是函数。将变量名“str”更改为任何其他名称可以解决此问题
您使用了
str
作为变量名。从而隐藏了内置的。 然后尝试在变量自己的定义中调用变量str(i)
正如您刚才看到的,使用内置变量的名称是一个坏主意。它可能仅仅是为了用自己的版本替换内置的非常高级的目的
您可以在这里看到下面的简单示例http://ideone.com/z70iRn
请更改
str
变量,因为它是一个内置的Python变量相关问题 更多 >
编程相关推荐