1. 程式人生 > >(五)函數二

(五)函數二

語法 內存地址 列表推導式 值傳遞 什麽 數據 沒有 sort 括號

引用 什麽是引用:變量是通過數據的內存起始地址讀取數據的
a = 1 :表示變量a指向了1的內存起始地址
在python中,值是靠引用來傳遞來的。我們可以用id( )來判斷兩個變量是否為同一個值的引用。 我們可以將id值理解為那塊內存的地址標示。 變量類型: 可變類型:修改變量數據,變量引用的地址沒有發生變化 (列表、字典、集合) 不可變類型:如果修改內容,則變量的引用的地址會發生變化 (數字、字符串、元組、布爾類型) {一旦重新賦值,內存地址必定改變} 不可變類型數據作為實參傳遞,修改形參,對實參沒有影響 可變類型數據作為實參傳遞,修改形參,實參跟著發生改變
;如若把形參重新賦值,修改形參,不會影響實參。
  • Python中函數參數是引用傳遞(註意不是值傳遞)
註:列表中:+=和=+是特列
    += :會把數據添加原先的列表後面
    =+:生成了一個新的列表

{擴展:哈希算法:能夠通過一個數據計算出一個數字,相同數據的哈希值必定相同} 遞歸函數: 本身便是循環,一般不會使用 必定需要一個結束的條件,不然陷入死循環 匿名函數: 用lambda關鍵詞能創建小型匿名函數 (沒有函數名定義) lambda函數的語法只包含一個語句:lambda+表達式
# 格式:lambda arg1, arg2: arg1 + arg2    arg1, arg2:形參 arg1 + arg2:運算表達式
sum = lambda arg1, arg2: arg1 + arg2 # 調用sum函數 print("Value of total : " % sum( 10, 20 )) print("Value of total : "% sum( 20, 20 ))
Lambda函數能接收任何數量的參數但只能返回一個表達式的值 匿名函數不能直接調用print,因為lambda需要一個表達式 匿名函數可以作為參數進行傳遞 附:字典排序:變量名.sort(key=匿名函數) 列表推導式: ps:輕量級循環創建列表
>>a = [x for x in range(4)]  
>> [0,1,2,3]
# 可多個for循環,多個變量接收 集合(set): 集合:大括號表示,無序,沒有重復數據,不能通過下標獲取 (只有增加和刪除) 作用:進行去重轉換類型(集合裏不能有列表)

(五)函數二