关于字符串的反转,这两个rev变量有啥不一样吗?

message = input("message,blank to quit")

rev = ''.join(reversed(message))
#rev = reversed(message)

if message != "":
    if message == rev:
        print("this is palindrome")
    else:
        print("this is not")

两个rev执行的结果是不一样的,第一个可以正常判断出结果,第二个则不行。
到底差在哪里?

因join 会把 一个<reversed object at 0x0000025424B795F8>对象 转为字符串
而 直接使用 reversed() 得到的是一个对象, 跟字符串本身不匹配,