python 声明变量_Python的变量声明
Python 與大多數(shù)其它語(yǔ)言一樣有局部變量和全局變量之分,但是它沒(méi)有明顯的變量聲明。變量通過(guò)首次賦值產(chǎn)生,當(dāng)超出作用范圍時(shí)自動(dòng)消亡。
Example 1. 定義 myParams 變量
if __name__ == "__main__":
myParams = {"server":"mpilgrim", \
"database":"master", \
"uid":"sa", \
"pwd":"secret" \
}
首先注意縮進(jìn)。 if 語(yǔ)句是代碼塊,需要像函數(shù)一樣縮進(jìn)。
其次,變量的賦值是一條被分成了多行的命令,用反斜線 (“ ”) 作為續(xù)行符。
上海python培訓(xùn)整理編輯,轉(zhuǎn)載說(shuō)明出處!
1、書(shū)寫(xiě)多行命令
當(dāng)一條命令用續(xù)行符 (“ ”) 分割成多行時(shí),后續(xù)的行可以以任何方式縮進(jìn),此時(shí) Python 通常的嚴(yán)格的縮進(jìn)規(guī)則無(wú)需遵守。如果您的 Python IDE 自由對(duì)后續(xù)行進(jìn)行了縮進(jìn),您應(yīng)該把它當(dāng)成是缺省處理,除非您有特別的原因不這么做。
嚴(yán)格地講,在小括號(hào),方括號(hào)或大括號(hào)中的表達(dá)式 (如定義一個(gè) dictionary ) 可以用或者不用續(xù)行符 (“ ”) 分割成多行。甚至在不是必需的時(shí)候,我也喜歡使用續(xù)行符,因?yàn)槲艺J(rèn)為這樣會(huì)讓代碼讀起來(lái)更容易,但那只是風(fēng)格問(wèn)題。
您從未聲明過(guò)變量 myParams ,您只是給它賦了一個(gè)值。這點(diǎn)就像是VBScript 沒(méi)有設(shè)置 option explicit 選項(xiàng)一樣。幸運(yùn)的是,與 VBScript 不同,Python 不允許您引用一個(gè)未被賦值的變量,試圖這樣做會(huì)引發(fā)一個(gè)異常。
2、變量引用
Example2. 引 用 未 賦 值 的變 量
>>> x
Traceback (innermost last):
File "", line 1, in ?
NameError: There is no variable named 'x'
>>> x = 1
>>> x
1
遲早有一天您會(huì)為此而感謝 Python 。
3、一次賦多值
Python 中比較 “酷” 的一種編程簡(jiǎn)寫(xiě)是使用序列來(lái)一次給多個(gè)變量賦值。
Example 3. 一次賦 多值
>>> v = ('a', 'b', 'e')
>>> (x, y, z) = v (1)
>>> x
'a'
>>> y
'b'
>>> z
'e'
(1) v 是一個(gè)三元素的 tuple,并且 (x, y, z) 是一個(gè)三變量的 tuple。將一個(gè) tuple賦值給另一個(gè) tuple,會(huì)按順序?qū)?v 的每個(gè)值賦值給每個(gè)變量。
這種用法有許多種用途。我經(jīng)常想要將一定范圍的值賦給多個(gè)變量。在 C 語(yǔ)言中,可以使用 enum 類型,手工列出每個(gè)常量和其所對(duì)應(yīng)的值,當(dāng)值是連續(xù)的時(shí)候這一過(guò)程讓人感到特別繁瑣。而在 Python 中,您可以使用內(nèi)置的 range函數(shù)和多變量賦值的方法來(lái)快速進(jìn)行賦值。
Example 4. 連 續(xù)值賦值
>>> range(7) (1)
[0, 1, 2, 3, 4, 5, 6]
>>> (MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7)
(2)
>>> MONDAY (3)
0
>>> TUESDAY
1
>>> SUNDAY
6
(1) 內(nèi)置的 range 函數(shù)返回一個(gè)元素為整數(shù)的 list。這個(gè)函數(shù)的簡(jiǎn)化調(diào)用形式是接收一個(gè)上限值,然后返回一個(gè)初始值從 0 開(kāi)始的 list,它依次遞增,直到但不包含上限值。(如果您愿意,您可以傳入其它的參數(shù)來(lái)指定一個(gè)非 0的初始值和非 1 的步長(zhǎng)。也可以使用 print range.__doc__ 來(lái)了解更多的細(xì)
節(jié)。)
(2) MONDAY 、 TUESDAY 、 WEDNESDAY 、 THURSDAY 、 FRIDAY 、 SATURDAY 和 SUNDAY 是我們定義的變量。(這個(gè)例子來(lái)自 calendar 模塊。它是一個(gè)很有趣的打印日歷的小模塊,像 UNIX 的cal命令。這個(gè)calendar 模塊定義了一星期中每天的整數(shù)常量表示。)
(3) 現(xiàn)在每個(gè)變量都擁有了自己的值: MONDAY的值為0 , TUESDAY的值為1 ,等等。
您也可以使用多變量賦值來(lái)創(chuàng)建返回多個(gè)值的函數(shù),只要返回一個(gè)包含所有值的 tuple 即可。調(diào)用者可以將其視為一個(gè) tuple,或?qū)⒅蒂x給獨(dú)立的變量。許多標(biāo)準(zhǔn)的 Python 庫(kù)都是這樣做的,包括os模塊。
感謝閱讀,歡迎評(píng)論,更多內(nèi)容或及時(shí)獲取支持請(qǐng)?jiān)L問(wèn) 上海python培訓(xùn)
總結(jié)
以上是生活随笔為你收集整理的python 声明变量_Python的变量声明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: dfs时间复杂度_一文吃透时间复杂度和空
- 下一篇: python人脸识别框很小_人脸识别:从