(五)函數二
阿新 • • 發佈:2018-04-30
語法 內存地址 列表推導式 值傳遞 什麽 數據 沒有 sort 括號 引用
什麽是引用:變量是通過數據的內存起始地址讀取數據的
;如若把形參重新賦值,修改形參,不會影響實參。
a = 1 :表示變量a指向了1的內存起始地址在python中,值是靠引用來傳遞來的。我們可以用id( )來判斷兩個變量是否為同一個值的引用。 我們可以將id值理解為那塊內存的地址標示。 變量類型: 可變類型:修改變量數據,變量引用的地址沒有發生變化 (列表、字典、集合) 不可變類型:如果修改內容,則變量的引用的地址會發生變化 (數字、字符串、元組、布爾類型) {一旦重新賦值,內存地址必定改變} 不可變類型數據作為實參傳遞,修改形參,對實參沒有影響 可變類型數據作為實參傳遞,修改形參,實參跟著發生改變
- Python中函數參數是引用傳遞(註意不是值傳遞)
註:列表中:+=和=+是特列
+= :會把數據添加原先的列表後面
=+:生成了一個新的列表
{擴展:哈希算法:能夠通過一個數據計算出一個數字,相同數據的哈希值必定相同} 遞歸函數: 本身便是循環,一般不會使用 必定需要一個結束的條件,不然陷入死循環 匿名函數: 用lambda關鍵詞能創建小型匿名函數 (沒有函數名定義) lambda函數的語法只包含一個語句:lambda+表達式
# 格式:lambda arg1, arg2: arg1 + arg2 arg1, arg2:形參 arg1 + arg2:運算表達式Lambda函數能接收任何數量的參數但只能返回一個表達式的值 匿名函數不能直接調用print,因為lambda需要一個表達式 匿名函數可以作為參數進行傳遞 附:字典排序:變量名.sort(key=匿名函數) 列表推導式: ps:輕量級循環創建列表sum = lambda arg1, arg2: arg1 + arg2 # 調用sum函數 print("Value of total : " % sum( 10, 20 )) print("Value of total : "% sum( 20, 20 ))
>>a = [x for x in range(4)]# 可多個for循環,多個變量接收 集合(set): 集合:大括號表示,無序,沒有重復數據,不能通過下標獲取 (只有增加和刪除) 作用:進行去重轉換類型(集合裏不能有列表)>> [0,1,2,3]
(五)函數二