亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

跟老齊學(xué)Python之賦值,簡單也不簡單

系統(tǒng) 1564 0

變量命名

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

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

注意:
?1.區(qū)分大小寫
?2.禁止使用保留字
?3.遵守通常習(xí)慣
??以單一下劃線開頭的變量名(_X)不會被from module import *語句導(dǎo)入的。
??前后有下劃線的變量名(X)是系統(tǒng)定義的變量名,對解釋器有特殊意義。
??以兩個下劃線開頭,但結(jié)尾沒有兩個下劃線的變量名(__X)是類本地(壓縮)變量。
??通過交互模式運行時,只有單個下劃線變量(_)會保存最后的表達式結(jié)果。
?
需要解釋一下保留字,就是python里面保留了一些單詞,這些單詞不能讓用戶來用作變量名稱。都有哪些呢?(python2和python3少有差別,但是總體差不多)

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:
>>> not = 3
? File " ", line 1
??? not = 3
??????? ^
SyntaxError: invalid syntax

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

?在交互模式的實驗室中,用保留字做變量,就報錯了。當然,這時候就要換名字了。

以上原則,是基本原則。在實際編程中,大家通常還這樣做,以便讓程序更具有可讀性:
??名字具有一定的含義。比如寫:n = "qiwsir",就不如寫:name = "qiwsir"更好。
??名字不要誤導(dǎo)別人。比如用account_list指一組賬號,就會被人誤解為是list類型的數(shù)據(jù),事實上可能是也可能不是。所以這時候最好換個名稱,比如直接用accounts。
??名字要有意義的區(qū)分,有時候你可能會用到a1,a2之類的名字,最好不要這么做,換個別的方式,通過字面能夠看出一定的區(qū)分來更好。
??最好是名稱能夠讀出來,千萬別自己造英文單詞,也別亂用所寫什么的,特別是貴國的,還喜歡用漢語拼音縮寫來做為名字,更麻煩了,還不如全拼呢。最好是用完整的單詞或者公認的不會引起歧義的縮寫。
??單個字母和數(shù)字就少用了,不僅是顯得你太懶惰,還會因為在一段代碼中可能有很多個單個的字母和數(shù)字,為搜索帶來麻煩,別人也更不知道你的i和他理解的i是不是一個含義。
?
總之,取名字,講究不少。不論如何,要記住一個標準:明確

賦值語句

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

語句格式:變量名稱 = 對象

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

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

復(fù)制代碼 代碼如下:

>>> name = "qiwsir"

>>> name, website = "qiwsir","qiwsir.github.io"???? #多個變量,按照順序依次賦值
>>> name
'qiwsir'
>>> website
'qiwsir.github.io'

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

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

復(fù)制代碼 代碼如下:

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

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

復(fù)制代碼 代碼如下:

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

?這樣也行呀。

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

復(fù)制代碼 代碼如下:

>>> site = "qiwsir.github.io"
>>> name, main = site.split(".")[0], site.split(".")[1]?? #還記得str.split( )這個東東嗎?忘記了,google一下吧。
>>> name
'qiwsir'
>>> main
'github'

?增強賦值

這個東西聽名字就是比賦值強的。

在python中,將下列的方式稱為增強賦值:

增強賦值語句 等價于語句
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

看下面的例子,有一個list,想得到另外一個列表,其中每個數(shù)比原來list中的大2。可以用下面方式實現(xiàn):

復(fù)制代碼 代碼如下:

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

?如果用上面的增強賦值,i = i+2可以寫成 i +=2,試一試吧:

復(fù)制代碼 代碼如下:

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

?這就是增強賦值。為什么用增強賦值?因為i +=2,比i = i+2計算更快,后者右邊還要拷貝一個i。

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

復(fù)制代碼 代碼如下:

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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美精品一区二区三区久久 | 久久久久国产一级毛片高清版 | 中国一级毛片免费观看 | 色网站在线 | 美利坚永久精品视频在线观看 | 久久一日本道色综合久久m 久久一色本道亚洲 | 欧洲自拍偷拍 | 日日添天天做天天爱 | 99久久国内精品成人免费 | 全免费a级毛片免费看不卡 全免费a级毛片免费看视频免 | 久热99 | 国外成人免费视频 | 国产一级毛片大陆 | 久久精品国产亚洲a | 中国护士一级毛片免费版本 | 亚洲一区二区三区在线网站 | www.香蕉视频在线观看 | 亚洲欧美日韩精品中文乱码 | 色综合天天综合网看在线影院 | 亚洲欧美日韩在线不卡 | 激情亚洲| 色资源在线观看 | 国产日韩精品视频一区二区三区 | 成人毛片全部免费观看 | 再猛点深使劲爽日本免费视频 | 日本吻胸抓胸激烈视频网站 | 国产精品二 | 毛片免费大全 | 亚洲国产精品第一区二区 | 日韩欧美理论 | 久久久久久久久免费视频 | 亚洲精品网址 | 福利资源在线 | 四虎永久地址4hu2019 | www国产精品com| 久久综合九色综合亚洲小说 | 欧美国产精品亚洲精品第一区 | 亚洲国产综合精品中文字幕 | 亚州一级毛片 | 亚洲欧洲一区二区三区在线观看 | 女人zzzooooxxxx |