“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,说明变量重新赋值过程已经被执行。

猜你喜欢

转载自blog.csdn.net/u011699626/article/details/108425289