python中赋值语句的作用_python中return可以使用赋值语句吗?
在python中,有各種不同類型的語句。一個python程序是由模塊構成的;一個模塊由一條或多條語句組成;每個語句由不同的表達式組成;表達式可以創建和操作對象。下面來看看python中的語句。
賦值語句:
標識符 = object
判斷語句:
if/elif/else
循環相關語句:
while/else
for/else
break
continue
類及函數相關語句:
class
def
return
yield
global
lambda
object。
method()
異常相關語句:
try/except/finally
raise
其他語句:
del
exec
assert
pass
首先來看賦值語句。一個賦值語句由三部分組成,變量標識符、=和賦予標識符的對象。
在python中,任何變量都是引用變量,因此,變量標識符代表的內存空間中其實只是保存了對象的一個引用。在給一個變量賦值的過程中,也同時創建了這個變量,而并不需要像c中的一樣,要先定義一個變量,然后給它賦值。
賦值語句可以分為兩大類,一種是顯式賦值語句,一種是隱式賦值語句。
先來看顯式賦值語句:
L= range(3)
[x,y]=[1,2]
x,y=[3,4]
x,y=5,6
x = y = dict()
這五個語句,可以分為三類,第1行是最為普通的賦值語句。第2 3 4行可以看成是一類,通用模式為 seq1 = seq2,也就是等號兩邊都是一個序列,可以是list tuple還可以是string。
需要注意的是,len(seq1)必須等于len(seq2),否則會出現ValueError。這樣賦值的結果是seq1[0]=seq2[0],seq1[1]=seq2[1]。。。。第5行表示把x y 賦為dict(),也就是一個空的dictionary。
在這種形式的賦值語句中,賦值過程是從右到左進行的,即先y= dict(),然后再x=y。
隱式賦值會出現在以下六種語句中:
import types
from types import *
for x,y in D。itertimes()
def Test(one, two): pass
class Car: pass
Test(1,3)
隱式賦值的特點是沒有出現賦值操作符=。
第1行,會引入types。py中所有對象和變量,比如types。ListType=list、types。DictType=dict。第2行與第1行類似,會直接引入ListType=list、types。StringType=str等。第3行,會把x和y,分別賦為x=D。
keys()[0] x=D。keys()[1]。。。,同時y會變賦為y=D。values()[0] y=D。values()[1]。。。。第4行,會把Test指向為一個函數對象。第5行,會把Car指向一個“類”對象。第6行,通過調用一個函數,會把Test(one, two)函數中的形式參數one賦為1,two賦為3,即one =1 two=3。
上面用到的one two Test Car types等等都是標識符,標識符可以用來代表變量、函數名、類名、模塊名等。標識符的選擇也有一定的規則,三條“軍規”:
第一條:標識符不能與保留字(關鍵字)相同
第二條:標識符是大小寫敏感的
第三條:標識符必須用_或字母開頭,只能由_、字母、數字組成,長度沒有限制。
先來看第一條,這一條可以說是所有計算機語言都會有的一條規則。在python中保留字有31個。基本上在是組成語句的單詞,比如print del return等。由于模塊名在引入程序的時候,會自動轉換為變量名,因此模塊的名稱也不能是關鍵字,否則沒有辦法引入。
保留字要與在__builtins__模塊中的一些標識符相互區別,比如list()是在這個模塊中的,其中的list就不是保留字。
第二條,只要記住就行了。
第三條,單個_也是一個合法的標識符,在python交互模式中,它用來表示最后一個表達式的值。
其實在python中,幾乎所有以_開頭的標識符都有特殊的意思,雖然這不是強制性的規定。
以一個_開頭的標識符,比如_D _x 等,在import語句中不被引入,也就是說這種標識符標識的變量和定義是專屬于這個模塊的,在模塊外面是看不到的。有點類似于c中的private變量和函數。
以兩個_開頭,同時以兩個_結尾的標識符,比如__name__ __main__ __builtins__等,這些變量或函數是由python解釋器調用的。比如:__builtins__這個模塊就會在python啟動時自動載入。再比如:在一個類型中的__gt__方法由python解釋器調用,當把這個類型用于>的表達式時。
以兩個_開頭,但最后沒有兩個_,比如說:__x,這種標識符是一個類中的內部變量或函數。有點類似于c中的private變量和函數。
在python中也有類似于c中的+= -= *=等復合運算符。算術運算符、位運算符都可以用這種方式進行書寫。
看下面這條語句:
>>> L = range(3)
>>> L += [3,4]
第二條語句的效果等價于L = L + [3,4],但實際上與它更相同的是L。extend([3,4])。后一種方式比前一種方式的運行效率要高,也就說采用類似于+=這種復合運算符的時候,python會選擇更有效率的方式進行運算。
全部
總結
以上是生活随笔為你收集整理的python中赋值语句的作用_python中return可以使用赋值语句吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python练习集100题_8道关于py
- 下一篇: python 柱形图 负值_Highch