在這篇文章中,下面這行代碼給出了一個例子:
x = layers.Dense(64, activation="relu", name="dense_1")(inputs)
這似乎是一個函式呼叫,它首先傳入 64,然后是兩個命名引數,然后傳入input.
這里發生了什么?是inputs被傳遞給layers.Dense還是別的什么?
uj5u.com熱心網友回復:
函式“Dense”回傳由第二對括號呼叫的可呼叫物件。
例如:
def function1():
return function2
def function2():
print('Function 2')
x = function1()
x() # This will print "Function 2"
也可以回傳類。在這種情況下,括號將呼叫建構式,從而創建類的實體。
def function1():
return SomeClass
class SomeClass:
def __init__(self):
print("__init__")
x = function1()
x() # This will print "__init__"
uj5u.com熱心網友回復:
您基本上是為另一個函式(包裝函式)回傳的函式提供一個引數,該函式也稱為內部函式:
def funcwrapper(y):
def addone(x):
return x y 1
return addone
print(funcwrapper(3)(2))
輸出:
6
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/464570.html
標籤:Python python-3.x 功能
下一篇:如何根據給定的位置顯示值串列?
