凄いくだらない質問で申し訳ないのですが、
標準入力から小文字だったらTrueを出力するぷろぐらむを書いたときに

*****
msg = input()

if msg.isupper():
print("True")
else:
print("False")
*****

だとうまくいくのですが、
↓だとうまくいかない理由が理解できません。
なぜかFalseになってしまいます。

*****
msg = input()

if msg == msg.isupper():
print("True")
else:
print("False")
*****

理由分かる方どなたか教えてください。。。