在c/c++中調(diào)用了這個(gè)函數(shù)之后不是會(huì)返回一個(gè)pyobject對(duì)象嗎?那個(gè)對(duì)象就是一個(gè)list啊,然后使用pylist_size()獲取它的大小,使用pylist_getitem()去讀取其中的元素就ok了啊。
創(chuàng)新互聯(lián)公司-云計(jì)算及IDC服務(wù)提供商,涵蓋公有云、IDC機(jī)房租用、成都服務(wù)器托管、等保安全、私有云建設(shè)等企業(yè)級(jí)互聯(lián)網(wǎng)基礎(chǔ)服務(wù),聯(lián)系熱線:028-86922220
找下python的c
api
manual,里面這些函數(shù)的用法寫(xiě)的很詳細(xì)的。
題主你好,
關(guān)鍵點(diǎn)在于函數(shù)如果沒(méi)有明確使用return關(guān)鍵字指定函數(shù)的返回值,則默認(rèn)返回值是none.
-----
所以temp = hello()這句的理解就是: 執(zhí)行hello()這個(gè)函數(shù), 并且把函數(shù)的返回值賦給變量temp, 但hello()函數(shù)中沒(méi)有return語(yǔ)句, 所以hello()函數(shù)的返回值為默認(rèn)的none.
-----
題主還可以在hello()函數(shù)最后加一個(gè): return 123
然后再行一下看看,就明白了.
=====
希望可以幫到題主, 歡迎追問(wèn).
python支持返回多個(gè)返回值,所以你可以考慮返回兩個(gè)值來(lái)解決。
參考代碼和如何調(diào)用示例如下:
你可以用3個(gè)變量去接收返回值,也可以直接獲得tuple,然后用數(shù)組的索引去獲得。
python 函數(shù)返回值有兩種形式: 1 返回一個(gè)值。 2 返回多個(gè)值。 現(xiàn)看看返回一個(gè)值的吧。
def firstvalue(a,b):
c = a + b
return c
print firstvalue(1,2)結(jié)果:3
再看看返回多個(gè)值的: 那怎么可以返回多個(gè)值呢,其他的語(yǔ)言一般調(diào)用函數(shù)的話,只能返回一個(gè)值,可能我不太熟悉所有的語(yǔ)言,我知道的語(yǔ)言只能返回一個(gè)值,而python可以返回多個(gè)值,感覺(jué)非常方便,發(fā)代碼看下:
def secondvalue(a,b):
c = a + b
return (a,b,c)
x,y,z = secondvalue(1,2)
print 'x:',x,'y:',y,'z:',z
可能上面的東西寫(xiě)的有點(diǎn)簡(jiǎn)單,但是有的細(xì)節(jié)處理也很重要。順便分享下我如何學(xué)習(xí)python的經(jīng)歷把,大家沒(méi)事拍拍磚。
因?yàn)槟氵€在函數(shù)內(nèi)部,看到提示符前的...了嗎?在return nx, ny后要敲兩次回車(chē)才是退出當(dāng)前代碼塊。