为什么这不是一个字符串?

时间:2015-12-10 06:43:05

标签: python string python-3.x if-statement

任何人都可以解释为什么打印failedword是一个字符串,但它一直跳到else

word = input("Enter a word.. ")
word_length = len(word)
first_letter = word[0]
last_letter = word[word_length-1]

if word == str:
    print(last_letter + word[1 : word_length-1] + first_letter)
else:
    print("failed")

1 个答案:

答案 0 :(得分:4)

当你说

if word == str:

您正在检查word是否与str()功能相同。

如果要检查输入是否为字符串,则可以使用 isinstance()功能,就像这样

if isinstance(word, str):

但是{3.}}函数,在Python 3.x中,始终只返回一个字符串。因此,您不必检查输入是否为字符串。

注意:如果您使用的是Python 2.x,print实际上是一个语句,而不是一个函数。您可以在input()中了解更多相关信息。