Python在定义变量时和C、Java的区别
1.Python中定义变量
代码:
a = 1
b = 1.2
c = 'Python'
d = True
print(a,b,c,d)
输出结果如下: 1 1.2 Python True
Python中定义变量时,不需要提前定义好变量的数据类型,变量会根据定义时赋予变量的值,自行定义好与值相对应的类型。
2.C、Java中定义变量
int a=1
double b=1.2345
char c='A'
在C和Java中对变量进行定义时需要编程人员提前对变量类型进行定义。
3.定义变量时的内存分配
在C和Java中,定义变量时,需要根据数据类型分配内存空间,且内存空间在分配后,不能改变,无论是大小、类型还是地址都不可变。创建好的内存空间只能存放相应的数据类型,由于内存大小不可变,当数据过小时会浪费内存,当数据过大时则会溢出,对数据要求较高。
例如:int a=100 其中int类型占位4个字节,a=100的数据大小在4个字节范围内,系统则会给a变量分配4个字节大小的内存空间。
在Python中,定义变量的时候系统会自动在内存中申请空间,内存申请多大则看保存的数据需要多大。
4.重新赋值时内存变化
C语言重新赋值时
#include<stdio.h>
int main()
{
int a=100;
ptintf("a=%d a的地址:%d\n",a,&a);
a=200;
printf("a=%d a的地址:%d\n",a,&a);
return 0;
}
输出:
Python重新赋值时
id函数:id(变量) - 获取变量保存的数据地址
num = 100
print(num,id(num))
num = '测试'
print(num,id(num))
输出:
C重新赋值 | 变化 | Python重新赋值 | 变化 |
---|
内存大小 | 不变 | 内存大小 | 随数据大小变化 | 内存类型 | 不变 | 内存类型 | 随数据类型变化 | 内存地址 | 不变 | 内存地址 | 变化 |
|