所以我试图找出如何将函数作为输入的一系列字符(未定义为字符串),并让它自动将其解释为字符串,例如:
def printstring(sequence_of_characters):
a=str(sequence_of_characters)
print(a)
现在我跑的时候:
printstring(hello)
我希望终端输出:
'hello'
而是输出
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
printstring(hello)
NameError: name 'hello' is not defined
现在我意识到我可以在&#34; hello&#34;上调用printstring,但我希望函数能够获取不是字符串的输入,而只是一系列字符。
答案 0 :(得分:0)
首先,您应该使用带括号的printstring("hello")
来调用它(永远不要忘记它们)
python有100%无法接受参数并在没有括号的情况下打印它。如果不包含括号,它会将其视为对象或方法。
因此,你试图将一个类分配为一个字符串。
所以,假设你有一个班级。
class Hello:
pass
你无法做到
Hello = Hello()
它并没有像那样工作。
def printstring(sequence_of_characters):
sequence_of_characters=str(sequence_of_characters)
print(sequence_of_characters)
因为sequence_of_characters
是字符串而你正在做的就是重新分配它。
答案 1 :(得分:0)
您的问题是您的sequence_of_characters
必须已经是对象或变量。 hello
只是一个未分配的变量。唯一可以按您的方式工作的对象是某种数字类型,如int
或float
或long
。
基本上,hello
必须是一个等于要工作的数字的变量。没有办法不把它分配给某些东西。