這樣寫你看下:這是這種寫法無法將x傳到b里面去
為邵原等地區(qū)用戶提供了全套網頁設計制作服務,及邵原網站建設行業(yè)解決方案。主營業(yè)務為成都網站設計、成都做網站、邵原網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
def b(y):
return x+y
def a(x):
return b
其實你調用a--打印的是a的內存地址,a(x)就是調用的a方法,返回的是b相當于你直接打印b的內存地址一樣,
所以
a--函數a的內存地址
a(x) --調用a方法,返回b函數對象相當于--b
a(x)(y)--b(y)調用b方法返回x和y的值,這里x取的是a方法的參數值,y是b方法的參數值,這點可以理解下參數的作用域
我有一個初步理解,但不知道底層細節(jié),python中函數名也是個變量,可以說你定義的所有名稱都是變量,所有的變量你理解成一個指針,指向一個空間,傳遞名稱則傳遞指針,給其他函數這個空間的開始。那么這個()呢,在py中有個call方法,你看不到,這個括號會執(zhí)行call,call會運行解釋你的代碼。這樣,一個函數才算是真正執(zhí)行了。
如函數:
1、不帶括號時,調用的是這個函數本身
2、帶括號(此時必須傳入需要的參數),調用的是函數的return結果
def cun (a,b):
return a+b
print(cun) : 調用函數,打印的是函數
print(cun(2,3)),調用函數運行后結果,打印的是 5
你這里要是加了括號,那么返回的就是fucy函數的返回值。那么他的返回值是多少呢?函數沒傳,那肯定就會TypeError,說沒有參數;那你加參數的話,那閉包還有撒用?
我覺得,加沒加,就是是不是對象的區(qū)別
第一處函數fu2無參數,如果不帶括號返回的是這個函數的屬性,需要帶括號才會返回參數
第二處下面用法是a=f1(5)(8),根據函數定義已經給函數f2()傳導參數,所以return時不需要再用()傳導參數
新聞名稱:函數時不帶括python的簡單介紹
分享地址:http://chinadenli.net/article4/hesooe.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站內鏈、靜態(tài)網站、虛擬主機、微信小程序、微信公眾號、網站策劃
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯