【python】常量与变量

本文介绍了Python中的常量和变量,包括机器码、汇编码和高级编程语言源码的概念。强调Python中常量的特殊性,以及变量作为存储空间的特性。还探讨了不同编程语言间的类型转换差异,并通过`id()`函数展示了变量地址的变化。最后提到了bug的来源和重点在于理解变量存储数据地址的动态性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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中一切数据皆对象。

 

 

 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

a=3.14
print(id(a))   #查看a所存储的数据在堆内存中的地址
print(id(3))   #查看3这个数据在堆内的地址
print(type(a))  #float

a="大桥未久"
print(id(a))
print(id("大桥未久"))
print(type(a))

#单行注释
"""
多行注释
"""

6.bug的由来

重点:
     变量本身是内存当中的一个临时存储空间,该空间中存的数据地址(数据都在堆)
     变量的数据类型随着所存储的数据变化而变化。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值