我們知道在python乙個函式模組中,執行完在最後通常需要使用return才算乙個完整的函式,否則這個函式就沒有結果,或者再呼叫這個函式可能會出錯。
def add_two():
a = 1
b = 2
print(a+b)
>>> type(add_two())
3
如上**,返回函式執行返回結果就是nonetype.
接下來是返回引數問題,有時候我們只返回乙個引數,那麼返回型別就是根據引數型別是什麼,返回型別相應的也就是什麼
>>> def add_result():
a = 1
b = 2
c = a+b
return c
>>> type(add_result())
我們看到,返回c是乙個整數,那麼函式返回結果型別也就是整數型別。
如果return後含有兩個或以上呢?
>>> def add_two():
a = 1
b = 2
c = a+b
d = b-a
return c,d
>>> type(add_two())
如上**,我們看到是元組型別,它是不可改變的型別,但和列表一樣是有序的,可以進行索引,比如我們要獲得c值,可以add_two()[0],獲得d值可以add_two()[1],
當然在這個**中沒必要這麼複雜,可能可以直接使用c,d的值,但有些複雜的函式可能需要使用以上的索引方式。
以上就是我對return的一些理解.
對 threadfence的一點理解
一直沒搞清楚,cuda 2.2版增加的 threadfence到底有何作用,直到今天看到sdk 3.0手冊 中的下面例子才恍然大悟.中文為我的理解,嘿嘿 乙個求和的例子 device unsigned int count 0 統計有幾個block結束的變數 shared bool islastblo...
對GBDT的一點理解
gbdt由一系列的回歸樹組成,如下圖所示 樹的深度未必都要一樣,下圖僅為示意圖 gbdt原理 針對每乙個類別訓練一系列的回歸樹,再累加每個類別回歸樹的 值得到針對每個類別的最終的 值。單獨拿乙個類別來說,訓練的過程中假設需要 的值為f xi 實際的值為yi 有loss function l yi,f...
對block的一點理解
對block的理解 block宣告的寫法 property strong,nonatomic void block void property copy,nonatomic void block void block的本質 就是oc的物件,內部也有isa指標,block是封裝了函式呼叫以及函式呼叫環...