为什么会这样

Why this happens

my_variable_name = str("John")
print(my_variable_name)

这是示例代码,现在如果我在这条语句中恰好在“my_variable_name”周围添加了双引号:

print(my_variable_name)

它只是简单地显示“”中写的任何内容,但如果我不添加它,它将打印“john”。现在我认为原因是因为当编译器在“”中找到一些东西告诉它显示它是什么数据类型而没有“”它只显示存储的或者你可以说赋值。我知道这很容易(基础),但我一直都这样做,而且我对这个问题的了解永远不会让我满意

问题与打印功能无关

"my_variable_name" 是字符串文字。也可以使用单引号或三引号。

my_variable_name 是对先前定义的同名变量的引用。变量值的类型可以是任何类型。

您可以打印任何对象,它会 return 它的 str() 表示。

无关,您不需要str()函数来定义字符串文字。

when compiler find something inside "" that tells it to display whatever datatype it is

Python 是一种解释型语言,不是编译器做的。引号中的任何内容的数据类型始终是字符串