自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一文帶你搞懂Python中變量與常量

開發(fā) 后端
本文基于Python基礎(chǔ),主要介紹了Python基礎(chǔ)中變量和常量的區(qū)別,對于變量的用法做了詳細(xì)的講解,用豐富的案例 ,代碼效果圖的展示幫助大家更好理解 。

[[433628]]

Hey,大家好呀,我是Go進(jìn)階者。

一、變量、常量的區(qū)別

變量:在程序運(yùn)行過程中,值會發(fā)生變化的量。

常量:在程序運(yùn)行過程中,值不會發(fā)生變化的量。

無論是變量還是常量,在創(chuàng)建時都會在內(nèi)存中開辟一塊空間,用于保存它的值。

二、變量

1. Python中的變量不需要聲明類型

這是根據(jù)Python的動態(tài)語言特性而來。變量可以直接使用,而不需要提前聲明類型。例如下面的a,b,c,d四個變量,在使用前沒有進(jìn)行任何的諸如 int a, str b, list c , int d 的類型聲明,而這在C語言和JAVA編程語言中是必須要攜帶的。

例如:

  1. a = 4 
  2.  b = "haha" 
  3.  c = [] 
  4.  d = 9-5 

2. 用“=”號來給變量賦值

  1. a = 100 

這里的等號要理解并讀作“賦值”,而不是“等于”,“賦值”是對變量的操作,而“等于”是對兩個變量進(jìn)行比較。上面的a,b,c,d四個變量,就通過“=”號,賦予了不同的值。

3. 每個變量在使用前都必須賦值,變量賦值以后才會被創(chuàng)建。

新的變量通過賦值的動作,創(chuàng)建并開辟內(nèi)存空間,保存值。如果沒有賦值而直接使用會拋出賦值前引用的異?;蛘呶疵惓!?/p>

例如:

  1. a       # 孤單單一個a,什么也表示不了,只能報錯 
  2. a = 1   # 這樣就沒問題了,解釋器知道a是個新變量了 
  3. c.append(1)     # c是個什么鬼? 
  4. NameError: name 'c' is not defined 

結(jié)果:

4. 在Python中,變量本身沒有數(shù)據(jù)類型的概念

通常所說的“變量類型”是變量所引用的對象的類型,或者說是變量的值的類型。

  1. a = 1 
  2. a = "haha" 
  3. a = [1, 2, 3] 
  4. a = { "k1":"v1"

變量a在創(chuàng)建的時候,賦予了值為1的整數(shù)類型,然后又被改成字符串“haha”,再又變成一個列表,最后是個字典。變量a在動態(tài)的改變,它的值分別是不同的數(shù)據(jù)類型,這是動態(tài)語言的特點。

5. “=”號這個賦值運(yùn)算符是從右往左的計算順序

  1. a = 1 
  2. b = 2 
  3. c = a + b  # 先計算a+b的值,再賦給c 
  4. print(c) 

6. Python允許同時為多個變量賦值

(例如:a = b = c = 1,最終大家都是1)。也可以同時為多個變量賦值,用逗號分隔,逐一對應(yīng)。

例如:a, b, c = 1, 2, 3,最后a是1,b是2,c是3。

不要把賦值語句的等號等同于數(shù)學(xué)的等號。

  1. x = 1 
  2.  
  3. x = x + 2 

如果從數(shù)學(xué)上理解x = x + 2那無論如何是不成立的,在程序中,賦值語句先計算右側(cè)的表達(dá)式x + 2,得到結(jié)果3,再賦給變量x。由于x之前的值是1,重新賦值后,x的值變成3。

a = 'ABC'時,Python解釋器干了兩件事情:

1. 在內(nèi)存中創(chuàng)建了一個‘ABC’的字符串對象;

2. 在內(nèi)存中創(chuàng)建了一個名為a的變量,并把它指向'ABC'。

也可以把一個變量a賦值給另一個變量b,這個操作實際上是將變量b指向變量a所指向的數(shù)據(jù),

例如下面的代碼:

  1. a = 'Jack' 
  2. b = a 
  3. a = 'Tom' 
  4. print(b) 
  5. print(a) 

最后變量b的內(nèi)容到底是'Jack'還是'Tom'?如果從數(shù)學(xué)意義上理解,就會錯誤地得出b和a相同是‘Tom’,但實際上b的值還是'Jack ‘!

請牢記:Python中的一切都是對象,變量是對象的引用!

圖:

執(zhí)行a = ‘Jack’,解釋器創(chuàng)建字符串‘Jack’對象和變量a,并把a(bǔ)指向‘Jack’對象;

執(zhí)行b = a,解釋器創(chuàng)建變量b,并且將其指向變量a指向的字符串‘Jack’對象;

執(zhí)行a = ‘Tom’,解釋器創(chuàng)建字符串‘Tom’對象,并把a(bǔ)改為指向‘Tom’對象,與b無關(guān)。

三、常量

常量就是不變的變量,比如常用的數(shù)學(xué)常數(shù)圓周率就是一個常量。在Python中,通常用全部大寫的變量名表示常量:

  1. PI = 3.14159265359 

但事實上,從Python語法角度看,PI仍然是一個變量,因為Python根本沒有任何機(jī)制保證PI不會被改變。你完全可以給PI賦值為10,不會彈出任何錯誤。所以,用全部大寫的變量名表示常量只是一個習(xí)慣上的用法。

常量通常放置在代碼的最上部,并作為全局使用。

四、總結(jié)

本文基于Python基礎(chǔ),主要介紹了Python基礎(chǔ)中變量和常量的區(qū)別,對于變量的用法做了詳細(xì)的講解,用豐富的案例 ,代碼效果圖的展示幫助大家更好理解 。

使用Python編程語言,方便大家更好理解,希望對大家的學(xué)習(xí)有幫助。

 

我是Go進(jìn)階者,如果覺得還不錯,記得動手點贊一下哈。感謝你的觀看!

 

責(zé)任編輯:武曉燕 來源: Go語言進(jìn)階學(xué)習(xí)
相關(guān)推薦

2021-09-11 10:41:27

PythonPickle模塊

2023-03-06 21:29:41

mmap技術(shù)操作系統(tǒng)

2021-08-05 06:54:05

觀察者訂閱設(shè)計

2021-12-01 11:40:14

Python 輸入輸出

2021-09-07 09:46:40

JavaScriptGenerator函數(shù)

2022-04-08 09:01:14

CSS自定義屬性前端

2024-11-19 13:20:55

2021-11-20 10:27:43

Python數(shù)據(jù)類型

2021-11-22 06:21:31

Python數(shù)據(jù)類型Python基礎(chǔ)

2024-04-12 12:19:08

語言模型AI

2022-03-24 08:51:48

Redis互聯(lián)網(wǎng)NoSQL

2021-09-28 07:12:10

avaScriptCurrying柯里化

2021-07-21 09:24:25

MongoDB數(shù)據(jù)庫 Python

2023-07-04 08:56:07

指針類型Golang

2021-03-22 10:05:59

netstat命令Linux

2023-09-08 08:20:46

ThreadLoca多線程工具

2023-09-15 12:00:01

API應(yīng)用程序接口

2020-06-24 12:01:16

Python數(shù)據(jù)類字符

2020-02-21 20:10:13

搞懂事務(wù)隔離級別

2020-05-11 14:35:11

微服務(wù)架構(gòu)代碼
點贊
收藏

51CTO技術(shù)棧公眾號