摘要:以上原則,是基本原則。比如用指一組賬號,就會被人誤解為是類型的數據,事實上可能是也可能不是。不論如何,要記住一個標準明確賦值語句對于賦值語句,看官已經不陌生了。其實,賦值的樣式不少,核心就是將變量和某對象對應起來。
變量命名
在《初識永遠強大的函數》一文中,有一節專門討論“取名字的學問”,就是有關變量名稱的問題,本溫故而知新的原則,這里要復習:
名稱格式:(下劃線或者字母)+(任意數目的字母,數字或下劃線)
注意:
區分大小寫
禁止使用保留字
遵守通常習慣
以單一下劃線開頭的變量名(_X)不會被from module import *語句導入的。
前后有下劃線的變量名(X)是系統定義的變量名,對解釋器有特殊意義。
以兩個下劃線開頭,但結尾沒有兩個下劃線的變量名(__X)是類本地(壓縮)變量。
通過交互模式運行時,只有單個下劃線變量(_)會保存最后的表達式結果。
需要解釋一下保留字,就是python里面保留了一些單詞,這些單詞不能讓用戶來用作變量名稱。都有哪些呢?(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
需要都記住嗎?當然不需要了。一方面,可以在網上隨手查到,另外,還能這樣:
>>> 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"更好。
名字不要誤導別人。比如用account_list指一組賬號,就會被人誤解為是list類型的數據,事實上可能是也可能不是。所以這時候最好換個名稱,比如直接用accounts。
名字要有意義的區分,有時候你可能會用到a1,a2之類的名字,最好不要這么做,換個別的方式,通過字面能夠看出一定的區分來更好。
最好是名稱能夠讀出來,千萬別自己造英文單詞,也別亂用所寫什么的,特別是貴國的,還喜歡用漢語拼音縮寫來做為名字,更麻煩了,還不如全拼呢。最好是用完整的單詞或者公認的不會引起歧義的縮寫。
單個字母和數字就少用了,不僅是顯得你太懶惰,還會因為在一段代碼中可能有很多個單個的字母和數字,為搜索帶來麻煩,別人也更不知道你的i和他理解的i是不是一個含義。
總之,取名字,講究不少。不論如何,要記住一個標準:明確
賦值語句對于賦值語句,看官已經不陌生了。任何一個變量,在python中,只要想用它,就要首先賦值。
語句格式:變量名稱 = 對象
上一節中也分析了賦值的本質。
還有一種賦值方式,叫做隱式賦值,通過import、from、del、class、for、函數參數。等模塊導入,函數和類的定義,for循環變量以及函數參數都是隱式賦值運算。這方面的東西后面會徐徐道來。
>>> name = "qiwsir" >>> name, website = "qiwsir","qiwsir.github.io" #多個變量,按照順序依次賦值 >>> name "qiwsir" >>> website "qiwsir.github.io" >>> name, website = "qiwsir" #有幾個變量,就對應幾個對象,不能少,也不能多 Traceback (most recent call last): File "", line 1, in ValueError: too many values to unpack
如果這樣賦值,也得兩邊數目一致:
>>> one,two,three,four = "good" >>> one "g" >>> two "o" >>> three "o" >>> four "d"
這就相當于把good分拆為一個一個的字母,然后對應著賦值給左邊的變量。
>>> [name,site] = ["qiwsir","qiwsir.github.io"] >>> name "qiwsir" >>> site "qiwsir.github.io" >>> name,site = ("qiwsir","qiwsir.github.io") >>> name "qiwsir" >>> site "qiwsir.github.io"
這樣也行呀。
其實,賦值的樣式不少,核心就是將變量和某對象對應起來。對象,可以用上面的方式,也許是這樣的
>>> 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 |
其它類似結構:x&=y x|=y x^=y x%=y x>>=y x<<=y x**=y x//=y
看下面的例子,有一個list,想得到另外一個列表,其中每個數比原來list中的大2。可以用下面方式實現:
>>> 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,試一試吧:
>>> 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解析的強大功能呀。
>>> [i+2 for i in number] [3, 4, 5, 6, 7]
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37337.html
摘要:語句,遍列列表字符串字典集合等迭代器,依次處理迭代器中的每個元素。與配合使用處理在程序運行中出現的異常情況。表示此行為空,不運行任何操作。在迭代器函數內使用,用于返回一個元素。恭請到上瀏覽及時更新的教程零基礎學 小孩子剛剛開始學說話的時候,常常是一個字一個字地開始學,比如學說餃子,對他/她來講,似乎有點難度,大人也聰明,于是就簡化了,用餃餃來代替,其實就是讓孩子學會一個字就能表達。當然...
摘要:在學習語句的時候,對編程的基礎知識了解的還不是很多,或許沒有做什么太復雜的東西。可以通過一個內置函數來判斷一個條件的結果還是。有朋友需要看完整教程內容,請點擊零基礎學,這里會及時更新,并且有完整的目錄結構,更吸納了朋友們提出的意見和建議。 看官是否記得,在上一部分的時候,有一講專門介紹if語句的:從if開始語句的征程。在學習if語句的時候,對python編程的基礎知識了解的還不是很多,...
摘要:萊布尼茲所指的函數現在被稱作可導函數,數學家之外的普通人一般接觸到的函數即屬此類。中文的函數一詞由清朝數學家李善蘭譯出。前面提供的維基百科中的函數詞條,里面可以做一個概覽。 函數,對于人類來講,能夠發展到這個數學思維層次,是一個飛躍。可以說,它的提出,直接加快了現代科技和社會的發展,不論是現代的任何科技門類,乃至于經濟學、政治學、社會學等,都已經普遍使用函數。 下面一段來自維基百科(...
摘要:每個形參的名稱均可作為過程內的局部變量。實參表示在您調用過程時傳遞給過程形參的值。看官如果硬著頭皮看完這段引文,發現里面有幾個關鍵詞參數變量形參實參。好似全局變量能力很強悍,能夠統帥函數內外。 對于變量和參數,不管是已經敲代碼多年的老鳥,還是剛剛接觸編程的小白,都會有時候清楚,有時候又有點模糊。因為,在實際應用中,它們之間分分離離,比如,敲代碼都知道,x=3中x是變量,它不是參數,但是...
摘要:接下來,一般都要編寫構造函數,在寫這個函數之前,先解釋一下什么是構造函數。故這個函數稱為構造函數,擔負著對類進行初始化的任務。 雖然已經對類有了一點點模糊概念,但是,閱讀前面一講的內容的確感到累呀,都是文字,連代碼都沒有。 本講就要簡單多了,嘗試走一個類的流程。 說明:關于類的這部分,我參考了《Learning Python》一書的講解。 創建類 創建類的方法比較簡單,如下: ...
閱讀 3398·2021-10-11 11:06
閱讀 2182·2019-08-29 11:10
閱讀 1944·2019-08-26 18:18
閱讀 3255·2019-08-26 13:34
閱讀 1559·2019-08-23 16:45
閱讀 1037·2019-08-23 16:29
閱讀 2797·2019-08-23 13:11
閱讀 3226·2019-08-23 12:58