python 如何修复TypeError:'str'对象不可调用?

mpbci0fu  于 12个月前  发布在  Python
关注(0)|答案(2)|浏览(93)

pic

试着简化这里的my问题,所以用a,B,& c代替。
即使我复制了教程的答案并通过Colaboratoy运行它,它仍然显示TypeError:'str'对象不可调用。
为什么会这样?
谢谢

nx7onnlm

nx7onnlm1#

返回问题标题:
如何修复TypeError:'str'对象不可调用?
作为python的初学者,我觉得有必要回答这个问题,因为无论是python还是编辑器(至少是带有python插件的vscode)似乎都没有给予提示,您可能意外地隐藏了一个带有fieldName的methodName。
考虑以下情况:

# value field shadows value() method
class ValueWrapper:
    def __init__(self):
        self.value = 'someValue'

    def value(self):
        return self.value

print("value:", ValueWrapper().value())

**输出:**类型错误:“str”对象不可调用

# value field does not shadow getValue() method
class ValueWrapper:
    def __init__(self):
        self.value = 'someValue'

    def getValue(self):
        return self.value

print("value:", ValueWrapper().getValue())

**输出:**值:someValue

dxxyhpgq

dxxyhpgq2#

你可能在某个地方把print声明为变量。例如:print = "sample"。因此,重新启动会话或执行del print命令并尝试执行代码。

del print
    a=1
    b=2
    c=a+b
   
    print(c)

尝试执行上面的代码,在python中命名变量时也遵循以下规则。

  • 标识符必须以字母或下划线(_)开头。
  • 标识符可以包含字母、数字和下划线。
  • 标识符不能是保留字。

以下是Python中有效和无效标识符名称的一些示例:

# Valid identifier names
_private
_private123
myVariable
myVariable123
MY_CONSTANT

# Invalid identifier names
123invalid  # cannot start with a digit
for  # for is a reserved word

相关问题