成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[零基礎(chǔ)學(xué)Python]賦值,簡(jiǎn)單也不簡(jiǎn)單

church / 2921人閱讀

摘要:以上原則,是基本原則。比如用指一組賬號(hào),就會(huì)被人誤解為是類型的數(shù)據(jù),事實(shí)上可能是也可能不是。不論如何,要記住一個(gè)標(biāo)準(zhǔn)明確賦值語(yǔ)句對(duì)于賦值語(yǔ)句,看官已經(jīng)不陌生了。其實(shí),賦值的樣式不少,核心就是將變量和某對(duì)象對(duì)應(yīng)起來(lái)。

變量命名

在《初識(shí)永遠(yuǎn)強(qiáng)大的函數(shù)》一文中,有一節(jié)專門討論“取名字的學(xué)問(wèn)”,就是有關(guān)變量名稱的問(wèn)題,本溫故而知新的原則,這里要復(fù)習(xí):

名稱格式:(下劃線或者字母)+(任意數(shù)目的字母,數(shù)字或下劃線)

注意:

區(qū)分大小寫

禁止使用保留字

遵守通常習(xí)慣

以單一下劃線開頭的變量名(_X)不會(huì)被from module import *語(yǔ)句導(dǎo)入的。

前后有下劃線的變量名(X)是系統(tǒng)定義的變量名,對(duì)解釋器有特殊意義。

以兩個(gè)下劃線開頭,但結(jié)尾沒(méi)有兩個(gè)下劃線的變量名(__X)是類本地(壓縮)變量。

通過(guò)交互模式運(yùn)行時(shí),只有單個(gè)下劃線變量(_)會(huì)保存最后的表達(dá)式結(jié)果。

需要解釋一下保留字,就是python里面保留了一些單詞,這些單詞不能讓用戶來(lái)用作變量名稱。都有哪些呢?(python2和python3少有差別,但是總體差不多)

  

and assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while yield

需要都記住嗎?當(dāng)然不需要了。一方面,可以在網(wǎng)上隨手查到,另外,還能這樣:

>>> not = 3
  File "", line 1
    not = 3
        ^
SyntaxError: invalid syntax

>>> pass = "hello,world"
  File "", line 1
pass = "hello,world"
         ^
SyntaxError: invalid syntax

在交互模式的實(shí)驗(yàn)室中,用保留字做變量,就報(bào)錯(cuò)了。當(dāng)然,這時(shí)候就要換名字了。

以上原則,是基本原則。在實(shí)際編程中,大家通常還這樣做,以便讓程序更具有可讀性:

名字具有一定的含義。比如寫:n = "qiwsir",就不如寫:name = "qiwsir"更好。

名字不要誤導(dǎo)別人。比如用account_list指一組賬號(hào),就會(huì)被人誤解為是list類型的數(shù)據(jù),事實(shí)上可能是也可能不是。所以這時(shí)候最好換個(gè)名稱,比如直接用accounts。

名字要有意義的區(qū)分,有時(shí)候你可能會(huì)用到a1,a2之類的名字,最好不要這么做,換個(gè)別的方式,通過(guò)字面能夠看出一定的區(qū)分來(lái)更好。

最好是名稱能夠讀出來(lái),千萬(wàn)別自己造英文單詞,也別亂用所寫什么的,特別是貴國(guó)的,還喜歡用漢語(yǔ)拼音縮寫來(lái)做為名字,更麻煩了,還不如全拼呢。最好是用完整的單詞或者公認(rèn)的不會(huì)引起歧義的縮寫。

單個(gè)字母和數(shù)字就少用了,不僅是顯得你太懶惰,還會(huì)因?yàn)樵谝欢未a中可能有很多個(gè)單個(gè)的字母和數(shù)字,為搜索帶來(lái)麻煩,別人也更不知道你的i和他理解的i是不是一個(gè)含義。

總之,取名字,講究不少。不論如何,要記住一個(gè)標(biāo)準(zhǔn):明確

賦值語(yǔ)句

對(duì)于賦值語(yǔ)句,看官已經(jīng)不陌生了。任何一個(gè)變量,在python中,只要想用它,就要首先賦值。

語(yǔ)句格式:變量名稱 = 對(duì)象

上一節(jié)中也分析了賦值的本質(zhì)。

還有一種賦值方式,叫做隱式賦值,通過(guò)import、from、del、class、for、函數(shù)參數(shù)。等模塊導(dǎo)入,函數(shù)和類的定義,for循環(huán)變量以及函數(shù)參數(shù)都是隱式賦值運(yùn)算。這方面的東西后面會(huì)徐徐道來(lái)。

>>> name = "qiwsir"

>>> name, website = "qiwsir","qiwsir.github.io"     #多個(gè)變量,按照順序依次賦值
>>> name
"qiwsir"
>>> website
"qiwsir.github.io"

>>> name, website = "qiwsir"    #有幾個(gè)變量,就對(duì)應(yīng)幾個(gè)對(duì)象,不能少,也不能多
Traceback (most recent call last):
  File "", line 1, in 
ValueError: too many values to unpack

如果這樣賦值,也得兩邊數(shù)目一致:

>>> one,two,three,four = "good"
>>> one
"g"
>>> two
"o"
>>> three
"o"
>>> four
"d"

這就相當(dāng)于把good分拆為一個(gè)一個(gè)的字母,然后對(duì)應(yīng)著賦值給左邊的變量。

>>> [name,site] = ["qiwsir","qiwsir.github.io"]
>>> name
"qiwsir"
>>> site
"qiwsir.github.io"
>>> name,site = ("qiwsir","qiwsir.github.io")
>>> name
"qiwsir"
>>> site
"qiwsir.github.io"

這樣也行呀。

其實(shí),賦值的樣式不少,核心就是將變量和某對(duì)象對(duì)應(yīng)起來(lái)。對(duì)象,可以用上面的方式,也許是這樣的

>>> site = "qiwsir.github.io"
>>> name, main = site.split(".")[0], site.split(".")[1]   #還記得str.split()這個(gè)東東嗎?忘記了,google一下吧。
>>> name
"qiwsir"
>>> main
"github"
增強(qiáng)賦值

這個(gè)東西聽名字就是比賦值強(qiáng)的。

在python中,將下列的方式稱為增強(qiáng)賦值:

增強(qiáng)賦值語(yǔ)句 等價(jià)于語(yǔ)句
x+=y x = x+y
x-=y x = x-y
x*=y x = x*y
x/=y x = x/y

其它類似結(jié)構(gòu):x&=y  x|=y  x^=y  x%=y  x>>=y x<<=y  x**=y  x//=y

看下面的例子,有一個(gè)list,想得到另外一個(gè)列表,其中每個(gè)數(shù)比原來(lái)list中的大2??梢杂孟旅娣绞綄?shí)現(xiàn):

>>> number
[1, 2, 3, 4, 5]
>>> number2 = []
>>> for i in number:
...     i = i+2
...     number2.append(i)
... 
>>> number2
[3, 4, 5, 6, 7]

如果用上面的增強(qiáng)賦值,i = i+2可以寫成 i +=2,試一試吧:

>>> number
[1, 2, 3, 4, 5]
>>> number2 = []
>>> for i in number:
...     i +=2
...     number2.append(i)
... 
>>> number2
[3, 4, 5, 6, 7]

這就是增強(qiáng)賦值。為什么用增強(qiáng)賦值?因?yàn)閕 +=2,比i = i+2計(jì)算更快,后者右邊還要拷貝一個(gè)i。

上面的例子還能修改,別忘記了list解析的強(qiáng)大功能呀。

>>> [i+2 for i in number]
[3, 4, 5, 6, 7]

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/37337.html

相關(guān)文章

  • [基礎(chǔ)學(xué)Python]正規(guī)地說(shuō)一句話

    摘要:語(yǔ)句,遍列列表字符串字典集合等迭代器,依次處理迭代器中的每個(gè)元素。與配合使用處理在程序運(yùn)行中出現(xiàn)的異常情況。表示此行為空,不運(yùn)行任何操作。在迭代器函數(shù)內(nèi)使用,用于返回一個(gè)元素。恭請(qǐng)到上瀏覽及時(shí)更新的教程零基礎(chǔ)學(xué) 小孩子剛剛開始學(xué)說(shuō)話的時(shí)候,常常是一個(gè)字一個(gè)字地開始學(xué),比如學(xué)說(shuō)餃子,對(duì)他/她來(lái)講,似乎有點(diǎn)難度,大人也聰明,于是就簡(jiǎn)化了,用餃餃來(lái)代替,其實(shí)就是讓孩子學(xué)會(huì)一個(gè)字就能表達(dá)。當(dāng)然...

    Freeman 評(píng)論0 收藏0
  • [基礎(chǔ)學(xué)python]復(fù)習(xí)if語(yǔ)句

    摘要:在學(xué)習(xí)語(yǔ)句的時(shí)候,對(duì)編程的基礎(chǔ)知識(shí)了解的還不是很多,或許沒(méi)有做什么太復(fù)雜的東西??梢酝ㄟ^(guò)一個(gè)內(nèi)置函數(shù)來(lái)判斷一個(gè)條件的結(jié)果還是。有朋友需要看完整教程內(nèi)容,請(qǐng)點(diǎn)擊零基礎(chǔ)學(xué),這里會(huì)及時(shí)更新,并且有完整的目錄結(jié)構(gòu),更吸納了朋友們提出的意見和建議。 看官是否記得,在上一部分的時(shí)候,有一講專門介紹if語(yǔ)句的:從if開始語(yǔ)句的征程。在學(xué)習(xí)if語(yǔ)句的時(shí)候,對(duì)python編程的基礎(chǔ)知識(shí)了解的還不是很多,...

    array_huang 評(píng)論0 收藏0
  • [基礎(chǔ)學(xué)python]永遠(yuǎn)強(qiáng)大的函數(shù)

    摘要:萊布尼茲所指的函數(shù)現(xiàn)在被稱作可導(dǎo)函數(shù),數(shù)學(xué)家之外的普通人一般接觸到的函數(shù)即屬此類。中文的函數(shù)一詞由清朝數(shù)學(xué)家李善蘭譯出。前面提供的維基百科中的函數(shù)詞條,里面可以做一個(gè)概覽。 函數(shù),對(duì)于人類來(lái)講,能夠發(fā)展到這個(gè)數(shù)學(xué)思維層次,是一個(gè)飛躍??梢哉f(shuō),它的提出,直接加快了現(xiàn)代科技和社會(huì)的發(fā)展,不論是現(xiàn)代的任何科技門類,乃至于經(jīng)濟(jì)學(xué)、政治學(xué)、社會(huì)學(xué)等,都已經(jīng)普遍使用函數(shù)。 下面一段來(lái)自維基百科(...

    cangck_X 評(píng)論0 收藏0
  • [基礎(chǔ)學(xué)python]變量和參數(shù)

    摘要:每個(gè)形參的名稱均可作為過(guò)程內(nèi)的局部變量。實(shí)參表示在您調(diào)用過(guò)程時(shí)傳遞給過(guò)程形參的值??垂偃绻仓^皮看完這段引文,發(fā)現(xiàn)里面有幾個(gè)關(guān)鍵詞參數(shù)變量形參實(shí)參。好似全局變量能力很強(qiáng)悍,能夠統(tǒng)帥函數(shù)內(nèi)外。 對(duì)于變量和參數(shù),不管是已經(jīng)敲代碼多年的老鳥,還是剛剛接觸編程的小白,都會(huì)有時(shí)候清楚,有時(shí)候又有點(diǎn)模糊。因?yàn)椋趯?shí)際應(yīng)用中,它們之間分分離離,比如,敲代碼都知道,x=3中x是變量,它不是參數(shù),但是...

    Freelander 評(píng)論0 收藏0
  • [基礎(chǔ)學(xué)python]編寫類之一創(chuàng)建實(shí)例

    摘要:接下來(lái),一般都要編寫構(gòu)造函數(shù),在寫這個(gè)函數(shù)之前,先解釋一下什么是構(gòu)造函數(shù)。故這個(gè)函數(shù)稱為構(gòu)造函數(shù),擔(dān)負(fù)著對(duì)類進(jìn)行初始化的任務(wù)。 雖然已經(jīng)對(duì)類有了一點(diǎn)點(diǎn)模糊概念,但是,閱讀前面一講的內(nèi)容的確感到累呀,都是文字,連代碼都沒(méi)有。 本講就要簡(jiǎn)單多了,嘗試走一個(gè)類的流程。 說(shuō)明:關(guān)于類的這部分,我參考了《Learning Python》一書的講解。 創(chuàng)建類 創(chuàng)建類的方法比較簡(jiǎn)單,如下: ...

    mozillazg 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<