AttributeError:'function'对象没有属性'replace'

时间:2014-05-02 10:35:17

标签: python function object replace attributeerror

我使用此代码尝试替换字符:

from another_test import test_once_more
test_once_more()
question = input("1 letter ")
for letter in question:
    if letter == "a":
        test_once_more.replace("1","a")
        print (test_once_more)

这是我正在使用的代码。我想要它做的就是替换此代码中的1

def test_once_more():
    print ("123456789")

并将其替换为"A"

2 个答案:

答案 0 :(得分:4)

你不能。

该功能正在打印并返回None。事后没有办法改变它。

应该做的是让函数返回一个值并使用

def test_once_more():
    return "123456789"

然后

from another_test import test_once_more
result = test_once_more()
question = input("1 letter ")
for letter in question:
    if letter == "a":
        result = result.replace("1","a")
        print (result)

虽然我很困惑,为什么你要使用for循环来迭代一个字符串(至少如果你的用户关注你的请求)......

答案 1 :(得分:0)

这里有一个非常简单的错误; test_once_more是函数的名称,而question是字符串的名称。尝试question.replace(并解决其他类似错误)。

P.S。字符串不能在Python中变异,因此您需要将调用replace的结果分配给另一个变量,以便查看调用replace()的效果。