Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于python中数据类型的澄清_Python - Fatal编程技术网

关于python中数据类型的澄清

关于python中数据类型的澄清,python,Python,有一件事很长时间以来一直吸引着我。在像c这样的语言中,我们需要声明数据类型,例如,integer为int,character为char,等等。我的意思是我们正在向c编译器提供有关数据类型的信息。 但是在python中,假设我声明 c = 2 c = "a" 然后编译器将c解释为整数。如果我申报 c = 2 c = "a" 编译器将c解释为字符。我的疑问是编译器如何知道如何在不显式声明的情况下为c分配适当的数据类型。对于python专家来说,这可能是一个基本问题,但是可以让

有一件事很长时间以来一直吸引着我。在像c这样的语言中,我们需要声明数据类型,例如,integer为int,character为char,等等。我的意思是我们正在向c编译器提供有关数据类型的信息。
但是在python中,假设我声明

c = 2  
c = "a"  
然后编译器将c解释为整数。如果我申报

c = 2  
c = "a"  
编译器将c解释为字符。我的疑问是编译器如何知道如何在不显式声明的情况下为c分配适当的数据类型。对于python专家来说,这可能是一个基本问题,但是可以让我们了解一下python是一个非常复杂的问题


编译python代码时,编译器不会解释任何类型信息。所有这些都是带有方法的对象,可以由您自己的代码随意使用值。

因此,所有数据,甚至最小的数据(如字符)都在python中表示为对象?@JustinCarrey:没错
'a'
str
的一个实例。其中一些是“内部的”,由解释器缓存(特别是小整数),因此它不需要创建多个实例(整数是不可变的,因此缓存它们是安全的)。感谢您的澄清