日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

【Python】趣学Python变量和赋值:大师兄和二师兄教的好~

發(fā)布時(shí)間:2025/3/12 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python】趣学Python变量和赋值:大师兄和二师兄教的好~ 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

公眾號(hào):尤而小屋
作者:Peter
編輯:Peter

今天給大家?guī)?lái)的是一篇關(guān)于Python變量與賦值的文章。其實(shí)Python中的賦值語(yǔ)句我們?cè)谥暗膶W(xué)習(xí)過(guò)程已經(jīng)接觸了很多,比如a=1,就是將數(shù)值1賦值給變量a。

在正式介紹賦值語(yǔ)句之前,我們先了解下Python中的變量問(wèn)題。

環(huán)境

有讀者反映建議Peter寫(xiě)下文章的環(huán)境,這就安排了:

  • 系統(tǒng):MacOS

  • 工具:jupyter notebook

  • Python版本:3.7.5

  • 文檔編輯器:Typora

變量

深刻理解變量的內(nèi)存地址

變量可以說(shuō)是一個(gè)存放數(shù)據(jù)的容器。Python中在定義變量的時(shí)候,不需要聲明變量。當(dāng)我們首次為變量賦值的時(shí)候,會(huì)自動(dòng)創(chuàng)建變量并指定類型。

變量本身是沒(méi)有類型的,只是對(duì)象(賦值的數(shù)據(jù))有類型

a?=?66 a66b?=?66 b66type(a)??#?查看數(shù)值類型為整型intinttype(b)??#?字符串類型int

我們定義了兩個(gè)變量a和b,它們都是數(shù)字66。雖然名稱不同,但是在計(jì)算機(jī)中它們卻代表的是同一個(gè)元素,看看他們的內(nèi)存地址。

就好比:豬八戒(數(shù)值66)這個(gè)人,我們可以稱之為“二師兄”(放在變量a),也可以稱之為“天蓬元帥”(放在變量b),但是本質(zhì)上他們都是指豬八戒,只是換了個(gè)別名,本質(zhì)相同

id(a)??#?a和b的內(nèi)存地址相同4387310752id(b)4387310752

我們?cè)俣x一個(gè)變量的賦值看看:

a?=?77 a77id(a)4387311104

我們看到,之前我們把數(shù)值66賦值給變量a,內(nèi)存地址是4430785696,然后我們又把數(shù)值77賦值為變量a,內(nèi)存地址變成了4430786048。

為什么?其實(shí),這兩數(shù)值66和77本質(zhì)上在計(jì)算機(jī)就是兩個(gè)對(duì)象,只不過(guò)它們剛好有個(gè)相同的名字而已。好比說(shuō),西游記有個(gè)情節(jié):真假美猴王

真美猴王(數(shù)值66)和假美猴王(數(shù)值77)雖然都被稱為美猴王(標(biāo)簽a),但是他們實(shí)際上是兩只不同的猴子呀(就好像是:內(nèi)存中分配了不同的地址)~假的最后不還是被如來(lái)給收服啦!

創(chuàng)建變量

通過(guò)賦值語(yǔ)句來(lái)實(shí)現(xiàn)變量的創(chuàng)建

x?=?99??#?數(shù)值型 language?=?"python"??#?字符串型 number?=?[1,3,5,7,9]??#?列表型print(x) print(language) print(number)99 python [1, 3, 5, 7, 9]

變量名稱命名規(guī)則

python中變量的命名可以使用短名稱,比如上面的x、y、z、a、b等,也可以使用具有一定描述作用的名稱,比如age、name、sex,其他人看到就可以知道變量的含義。通常Python中的變量命名規(guī)則:

  • 變量名必須以字母或下劃線字符開(kāi)頭,不能以數(shù)字開(kāi)頭

  • 變量名只能包含字母數(shù)字字符和下劃線(A-z、0-9 和 _)

  • 變量名稱區(qū)分大小寫(xiě)(name、Name 和 NAME 就是三個(gè)不同的變量)

  • 變量名不能和Python中的關(guān)鍵字沖突(相同),否則無(wú)效

下面我們看看Python中常見(jiàn)的賦值語(yǔ)句:

賦值語(yǔ)句

常規(guī)賦值

賦值:將Python的某個(gè)數(shù)據(jù)對(duì)象貼在某個(gè)變量上,好像給這個(gè)對(duì)象貼上了一個(gè)標(biāo)簽。Python 使用等號(hào)=作為賦值運(yùn)算符,具體格式為:

name?=?value#?變量?=?某個(gè)值list1?=?["python","java"]??#?列表賦值給變量b list1['python', 'java']list2?=?[1,2,["python","html"],(1,4,7)]??#?嵌套列表 list2[1, 2, ['python', 'html'], (1, 4, 7)]age?=?28??#?數(shù)值 age28information?=?"xiaoming?is?a?boy"??#?字符串 information'xiaoming is a boy'#?定義一個(gè)變量dic,字典類型dic?=?{"name":"xiaoming","age":20,"sex":"fale"} dic{'name': 'xiaoming', 'age': 20, 'sex': 'fale'}

多變量賦值

同時(shí)賦值3個(gè)變量,這些變量可以是不同的數(shù)據(jù)類型:

m,?n,?o=?22,?"xiaoming","男"??#?同時(shí)賦值3個(gè)變量m22n'xiaoming'o'男'

上面的例子表示22賦值給m,字符串對(duì)象"xiaoming"賦值給n,"男"賦值給變量o

name,?age?=?("Peter",20)??#?通過(guò)元組形式賦值name'Peter'age20

上面的例子通過(guò)Python元組的形式進(jìn)行了多變量賦值

鏈?zhǔn)劫x值

x1?=?y1?=?33x133y133

在上面的例子中我們通過(guò)鏈?zhǔn)劫x值同時(shí)定義了兩個(gè)變量x1和y1。其實(shí)它們?cè)趦?nèi)存中就是同一個(gè)對(duì)象,通過(guò)id查看內(nèi)存地址:

id(x1)4387309696id(y1)4387309696

其實(shí)就是同一個(gè)python對(duì)象貼上了不同的標(biāo)簽而已,但是本質(zhì)相同

變量互換

k,?j?=?9,?5

上面的變量賦值等價(jià)于:

k=9 j=5print("k?=",k) print("j?=",j)k = 9 j = 5print("id(k):?",?id(k)) print("id(j):?",?id(j))id(k): 4387308928 id(j): 4387308800

下面我們交換kj兩個(gè)變量的值:

k,?j?=?j,?k??#?變量值的交換

上面語(yǔ)句的含義表示為:將變量j的值(已經(jīng)賦值了5)再賦值給變量k;將變量的值(已經(jīng)賦值了9)再賦值給變量j;

print("k?=",k) print("j?=",j)k = 5 j = 9print("id(k):?",?id(k)) print("id(j):?",?id(j))id(k): 4387308800 id(j): 4387308928

通過(guò)對(duì)比交換前后兩個(gè)變量的內(nèi)存地址,我們發(fā)現(xiàn):內(nèi)存地址交換了,也就是變量已經(jīng)發(fā)生了交換

在其他編程語(yǔ)言中實(shí)現(xiàn)變量值的交換的操作是(假設(shè)已經(jīng)定義了兩個(gè)變量a和b):

temp?=?a??#?a賦值中間變量temp a?=?b?????#?b的值賦給變量a b?=?temp??#?temp的值賦給變量b

變量的相等和相同

首先,必須聲明的是Python中變量的相等和相同,是不同的兩個(gè)概念,舉例子說(shuō)明

number1?=?88 number2?=?88id(number1)4387311456id(number2)4387311456

判斷兩個(gè)變量是否相等:使用==

number1?==?number2True

判斷兩個(gè)變量是否相同:使用is

number1?is?number2True

結(jié)果都是True,說(shuō)明number1和number2兩個(gè)變量就是同一個(gè)對(duì)象

list1?=?"hello?python"? list2?=?"hello?python"list1?==?list2??#?相等Truelist1?is?list2??#?不相同F(xiàn)alse

上面的結(jié)果表明:list1和list2是相等,但是不相同。

id(list1)4444494000id(list2)4444495024

通過(guò)查看二者的內(nèi)存地址發(fā)現(xiàn):它們的地址真的不同,所以肯定是不相同的兩個(gè)對(duì)象。

我們?cè)倏醋詈笠粋€(gè)情況:

number3?=?1000 number4?=?1000number3?==?number4??#?相等Truenumber3?is?number4??#?居然不相等啦!False

我們查看下二者的內(nèi)存地址,發(fā)現(xiàn)它們的地址真的不同,所以肯定不是同一個(gè)對(duì)象啦~

id(number3)4444408880id(number4)4444409104

這到底是為什么呢?以后揭曉答案~

往期精彩回顧適合初學(xué)者入門(mén)人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯黃海廣老師《機(jī)器學(xué)習(xí)課程》視頻課

本站qq群851320808,加入微信群請(qǐng)掃碼:

總結(jié)

以上是生活随笔為你收集整理的【Python】趣学Python变量和赋值:大师兄和二师兄教的好~的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。