python基礎之引用和匿名函數

在這裡插入圖片描述

在這裡插入圖片描述

a=1  #1 為對象,
def func(x):
    print('x的地址{}'.format(id(x)))
    x=2
    print('x的地址{}'.format(id(x)))
    pass
# 調用函數
print('a的地址:{}'.format(id(a)))
func(a)

在這裡插入圖片描述

# 不可變類型
a=1  #1 為對象,  ##傳遞的是一個對象的引用,並不是一個值
def func(x):
    print('x的地址{}'.format(id(x)))
    x=2
    print('x的地址{}'.format(id(x)))
    print(x)
    pass
# 調用函數
print('a的地址:{}'.format(id(a)))
func(a)
print(a)

在這裡插入圖片描述

# 可變類型
# 可變函數
li=[]
def testRenc(parms):
    li.append([1,2,3,4,5])
    print(id(parms))
    li.append([1,3,4,5])
    pass
print(id(li))
testRenc(li)
print('外部的變量對象{}'.format(li))

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

# 匿名函數
# 語法:
# lambda 參數1、參數2、參數3:表達式
# 特點
# 1.使用lambda關鍵字創建函數
# 2.沒有名字的函數
# 3.匿名函數冒號後面的表達式有且隻有一個,註意:是表達式而不是語句
# 4.匿名函數自帶return,而這個return的結果就是表達式計算後的結果
# 缺點
# lambda隻能是單個表達式,不是一個代碼塊,lambda設計就是為瞭滿足簡單的函數場景,僅僅能封裝有限的邏輯.復雜邏輯情況使用def標準函數邏輯,無法實現復雜邏輯
def computer(x,y):
    '''
    計算數據和
    :param x: 
    :param y: 
    :return: 
    '''
    return x+y
print(computer(10,20))
# 使用匿名函數
M=lambda x,y:x+y
# 通過變量來調用匿名函數
print(M(23,19))

在這裡插入圖片描述

result=lambda a,b,c:abc
print(result(12,343,5))

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: