解决'tuple' object is not callable的报错-python变量命名错误

1. 变量命名要避python内置函数的名字

初学python,很容易犯这样的错误,即直接用set, list, tuple, dict, str, int, complex, float等作为变量名。这样会导致这些内置函数:set(), list(), tuple()等等无法执行。
例如下例,使用tuple作为变量名,再执行tuple()语句时,会报错 ‘tuple’ object is not callable
在这里插入图片描述
原因如下:

作用域优先级:

在执行python代码时,你用的每一个变量,都需要寻找,寻找的过程遵循一定的优先级规则,下面按优先级从大到小排序

  1. 局部作用域
  2. 嵌套作用域
  3. 全局作用域
  4. 内置作用域

上面所演示的代码里,tuple=(1,2,3) 发生在全局作用域中,因此当使用tuple()转换list类型数据时,优先在全局作用域中查找tuple,如果好不到才会去内置作用域中寻找,内置函数存在与内置作用域。

参考文献:
[1] https://blog.csdn.net/KWSY2008/article/details/102939776

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值