xxx object is not callable可能的原因之一【恢复被覆盖的python内置函数】
时间:2019-02-19
本文章向大家介绍xxx object is not callable可能的原因之一【恢复被覆盖的python内置函数】,主要包括xxx object is not callable可能的原因之一【恢复被覆盖的python内置函数】使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天遇到的报错其实是:
'list' object is not callable
输出list一看,果然发现list被其他变量覆盖了
解决方法
两个:
1. del list
这里就要讲到python的del和c++的del的不同了。前者是删除变量(从全局字典里面移除),后者是删除该变量指向的内存。
那为什么del list以后list会恢复到原本的内置函数的地址呢?
我的理解是:(如果误解,欢迎指正!)
__builtins___本身代表一个命名空间,全局命名空间是优先于它的,全局里的list删掉了,如果__builtsin__这个命名空间里面有,就默认使用这个命名空间里面的。(builtins__来自__builtin module(Python 2,注意缺少s),或builtins module(Python 3,带s但没有下划线).)
说到这儿,可能很多人会好奇python的GC机制,可以看下这个博文https://juejin.im/post/5b34b117f265da59a50b2fbe
2. list=builtins.list
原理含在1里面啦,不过还是建议用1(用2也问题不大hh
- 算法模板——KMP字符串匹配
- 算法模板——Tarjan强连通分量
- 3211: 花神游历各国
- webpack学习(五)配置详解
- 1131: [POI2008]Sta
- 3172: [Tjoi2013]单词
- WebApiThrottle限流框架使用手册
- webpack学习(六)打包压缩js和css
- 1051: [HAOI2006]受欢迎的牛
- 1572: [Usaco2009 Open]工作安排Job
- 深海中的STL—mt19937
- 探索ASP.NET MVC5系列之~~~4.模型篇---包含模型常用特性和过度提交防御
- POJ1201 Intervals(差分约束)
- 【NLP】十分钟快览自然语言处理学习总结
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- MySQL 索引优化分析案例
- MySQL 服务器参数设置
- Linux 服务器集群下同步目录文件 - rsync
- 安装Chocolatey
- 纯Lua模拟出oenrestry+lua下Hash一致性闭环代理分发
- Java API设计 - RESTful之统一返回格式
- 亿级流量多级缓存 - Lua整合Redis/Nginx
- 正则表达式语法含义小笔记
- 基于(siger)开发的SpringBoot探针,Java监控服务器信息
- Redis 架构
- Redis 安装
- Redis 产生背景
- Java 之 synchronized
- 删库不跑路:论MySQL数据恢复
- docker安装nginx并部署一个html静态网站