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中一切數據皆對象。
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的由來
重點:
變量本身是內存當中的一個臨時存儲空間,該空間中存的數據地址(數據都在堆)
變量的數據類型隨著所存儲的數據變化而變化。
總結
以上是生活随笔為你收集整理的python中数字是常量吗,【python】常量与变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql5.6.24教程,mysql5
- 下一篇: mimo 鲁棒控制 matlab,项目调