相信很少有人会深入了解这两个命令的不同之处,请看下图的输出结果:

“I am Inkfish“ 和 print(“I am Inkfish“)的不同之处_字符串


当我们输入​​"I am Inkfish"​​​时输出的结果为一个字符串​​‘I am Inkfish’​​​,意味着输入的类型得以被保存,但是当我们输入​​print("I am Inkfish")​​​时,输出结果只是​​I am Inkfish​​并不含有类型。

为什么要提及这个呢?请看如下代码:

class Debug:
def __init__(self):
self.x = "1024"
self.y = 1024

def mainProgram(self):
self.y = self.x
print(self.y) # 1024
print(type(self.y)) # <class 'str'>


main = Debug()
main.mainProgram()

这里我们设置两个变量,​​self.x​​​中存储的是一个字符串​​'1024'​​​,​​self.y​​​中存储的是一个整数类型​​1024​​​,然后我们将​​self.y​​​变量的值更新为​​self.x​​​变量的值(也就是说将​​self.x​​​变量的值赋值给​​self.y​​​变量),此时我们输出​​self.y​​​变量的值,我们发现,输出结果为​​1024​​​,可以从​​type(self.y)​​​的结果​​<class 'str'>​​​看出, 此时的​​1024​​​并不是整数类型,而是​​str​​​,说明变量重新赋值过程已经被执行。