python错误–‘list‘ object is not callable可能的原因之一

python错误–‘list‘ object is not callable可能的原因之一第一 代码 功能说明 用正则表达式匹配数字并对数字进行 1 操作 然后替换原数字 str literalbooks 1000 defadd1 match val match group num int val 1returnstr num info re sub r d add1 str printinfosta

目录

第一、代码

第二


第一、代码

功能说明:

用正则表达式匹配数字并对数字进行+1操作,然后替换原数字)

str='literal books=1000' def add1(match): val=match.group() num=int(val)+1 return str(num) info=re.sub(r'\d+',add1,str) print info 

stackoverflow中解释

You are redefining what str() means. str is the built-in Python name of the string type, and you

don’t want to change it.Use a different name for the local variable, and remove the  global

statement.

翻译

     str()是系统自带的,你不能在用它的时候自己同时定义一个别的叫做str的变量,这样会冲突。

于是我把自定义的str变量改成了别的名字,str1,代码就通过了。

这是因为如果我自定义叫str的变量,str会被系统识别成字符串转换函数,这样的函数被传进sub函

数的参数里面,is not callable,也就是说,是不可调用的。

第二、举例

li = list(range(10))

          print(li(0))

stackoverflow中解释 :

you’ve written li(m) instead of li[m].This means you’re trying to call lista2 like a function, with

argument m. What you wanted to do is index lista2 like a list, with index m.

翻译

你已经写了li(m)而不是li [m]。这意味着你试图像调用函数一样调用lista2,并使用参数m。 你想

要做的是像列表一样索引lista2,索引为m。修改为li[0]就成功运行。

今天学习了  __call__函数。在Python中,函数其实是一个对象,并且所有的函数都是可调用对

象。一个类实例也可以变成一个可调用对象,只需要实现一个特殊方式__call__().

所以,当出现报错 XXX is not callable的时候,很有可能是你正在调用一个不能被调用的变量或对

象,具体表现就是你调用函数、变量的方式错误。

注意:Trace back (most recent call last)是指回溯(最近一次调用)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208162.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午12:13
下一篇 2026年3月19日 下午12:13


相关推荐

  • input获取焦点 原生js_原生js的input事件

    input获取焦点 原生js_原生js的input事件1.onfocus当input获取到焦点时触发2.onblur当input失去焦点时触发,注意:这个事件触发的前提是已经获取了焦点再失去焦点的时候才会触发该事件,用于判断标签为空。3.onchange当input失去焦点并且它的value值发生变化时触发,个人感觉可以用于注册时的确认密码。4.onkeydown按下按键时的事件触发,5.onkeyup当按键抬起的时候触发的事件,在该…

    2022年6月2日
    333
  • GPT-VIS:让模型栩栩如生

    GPT-VIS:让模型栩栩如生

    2026年3月16日
    2
  • Linux 系统 node.js 安装

    Linux 系统 node.js 安装1 查看系统信息命令 uname a2 选取合适的版本 node js 版本地址 https nodejs org dist 根据自己系统选择对应的包 图中标记的是 liunx64 位操作系统对应的包 3 下载对应的安装文件命令 wgethttps nodejs org dist v17 6 0 node v17 6 0 linux x64 tar xz4 对所下载的文件进行解压缩和转移命令 tar xvfnode v17 6 0 linux x64

    2026年3月26日
    2
  • OpenClaw 超详细安装教程|教你拥有专属AI员工

    OpenClaw 超详细安装教程|教你拥有专属AI员工

    2026年3月13日
    2
  • 【SpringBoot优点】

    【SpringBoot优点】SpringBoot 优点

    2026年3月16日
    2
  • 图像处理入门必看

    图像处理入门必看(原MyBlog)前要说明这段时间在网上找资料学习图像处理的相关知识,在网上看到这篇写得相当不错的文章,在大牛允许转载的情况下,特搬家至此,方便更多的初学者能够看到。正文开始最近有人问我图像处理怎么研究,怎么入门,怎么应用,我竟一时语塞。仔细想想,自己也搞了两年图像方面的研究,做个两个创新项目,发过两篇论文,也算是有点心得,于是总结总结和大家分享,希望能对大家有所帮助。在写这篇教程之前我本想多弄点插

    2022年5月17日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号