python中数字是常量吗,【python】常量与变量

1、代码

(1)机器码:由二进制组成,是给计算机看的,计算机可以直接执行。

(2)汇编码:由数字、字母和符号组成的代码。

汇编语言书写的代码必须按照计算机的计算流程

(写代码的流程就是模拟计算机运行的过程)

make space a in 3

make space b in 4

make space c in a add b

c=a+b

(3)高级编程语言源码:由数字、字母和符号组成的代码。

(可以按照人类的思维习惯去书写)

源代码转变为机器码:编译

int a=3;

int b=4;

int c=a+b;

2、常量:不变的量

(1)直接在程序中出现的数据(字面量)

print(3)   #3为常量

print("Hello World")    #Hello World 为常量

(2)将一个变量通过一些手段变成常量

限制变量的值不可修改。

特殊的:python中不存在第二种

const int a=3;

define PI 3.14

3、变量:变化的量

变量的本质就是进程空间中的一个临时的存储空间。

并且该临时存储空间有其自己的一个物理内存地址(计算机随机分配)

因为变量的地址数随机的,我们不应该直接通过过该变量的地址去操作数据。

怎么办?我们可以给变量起个别名(变量名)

系统底层会自动为变量名称和其针对的变量地址做一个表格。

(C语言中,变量的地址被称为指针)

那,该空间中存什么?无论哪种语言,变量空间中永远不可能存数据本身,

存的是数据的地址。

常量池中:存常量数据的地址

堆内存中:存对象数据地址

进程中:存变量的地址

C:里面只有常量在常量池中的地址和变量地址

java:里面只有常量池中的地址和堆中的地址

python:里面只有堆中的地址(对象)

python中一切数据皆对象。

fe6d9f605df400ea262dcc233309394a.png

9372af69f9ff57258c6645a73441e501.png

4、高级编辑语言之间的区别:

(1) 静态编译型:C/C++/Java (除C及C++外的编程语言都无指针概念,变量的地址不可访问,只能访问数据的地址)

编译:先将源代码整体编译完成,生成一个可执行程序,然后生成一个可执行程序即可

如:英语书---翻译为-----中文书

C: .c----编译----.exe

java: .java---编译----.class

静态:变量数据类型一旦确定则不可更改。

(2)动态解释型:Python/JavaScript/Matlab

解释:逐行进行编译且运行

如:同声传译(说一句翻译一句)

动态:变量数据类型随着数据的变化而变化。

5、id()函数: 查看当前数据的地址

a=3

print(id(a))   #查看a所存储的数据在堆内存中的地址

print(id(3))   #查看3这个数据在堆内的地址

print(type(a))  #int

be62265a015a537d6609d14f13393aa6.png

a=3.14

print(id(a))   #查看a所存储的数据在堆内存中的地址

print(id(3))   #查看3这个数据在堆内的地址

print(type(a))  #float

67d0c135db1479eafe1cf5667dbc6b92.png

a="大桥未久"

print(id(a))

print(id("大桥未久"))

print(type(a))

3b3e471b2d39a195fb18364f9db9311c.png

#单行注释

"""

多行注释

"""

6.bug的由来

44382ce40e9f8c5ecd07021a3263f722.png

重点:

变量本身是内存当中的一个临时存储空间,该空间中存的数据地址(数据都在堆)

变量的数据类型随着所存储的数据变化而变化。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部