在message.py中调用名称变量

时间:2018-03-07 00:41:59

标签: python-3.x

首先,我在自学成才的Python中非常新。我选择了一本速成课程书,我正试图让代码类型起作用。我得到的错误是" TypeError:' str'对象不可调用"。

我试图添加' '在名称周围,将其称为str(name()),以及一些脱离墙的东西。如果有人可以解释错误实际意味着什么,以及我如何使用它?我真的很感激,

#I can't get this program to work for me

name = "Billy"
message = "Hello, " + name() + "!"
print(message)

1 个答案:

答案 0 :(得分:1)

  

name =“Billy”

是一个字符串对象,而不是一个函数。 功能类似于以下

def sayHello(name):
    print("Hello "+name+" !")

函数是where()有效。要调用上面的函数,我的代码将是

name = "Tom"
sayHello(name)

这给了我们以下输出

  

“你好汤姆!”

要打印“Hello Billy!”,您的代码应该是print("Hello " + name + " !")

你不能str(name())。它仅在您定义一个名为name的函数时才有效,该函数返回一个值,您希望将其转换为字符串。 这是因为name()调用了一个名为name的函数。它的返回值将是赋予str(value_returned_by_function_name)转换为字符串对象的参数。 在您的情况下,name是一个字符串对象。因此str(name())无效。