python 的語法定義和C++、matlab、java 還是很有區別的。
1. 括號與函數調用
1
2
|
def devided_3(x): return x / 3. |
print(a) #不帶括號調用的結果:<function a at 0x139c756a8>
print(a(3)) #帶括號調用的結果:1
不帶括號時,調用的是函數在內存在的首地址; 帶括號時,調用的是函數在內存區的代碼塊,輸入參數后執行函數體。
2. 括號與類調用
1
2
3
4
5
6
7
8
9
|
class test(): y = 'this is out of __init__()' def __init__( self ): self .y = 'this is in the __init__()' x = test # x是類位置的首地址 print (x.y) # 輸出類的內容:this is out of __init__() x = test() # 類的實例化 print (x.y) # 輸出類的屬性:this is in the __init__() ; |
3. function(#) (input)
1
2
3
4
5
6
7
8
9
10
11
12
|
def With_func_rtn(a): print ( "this is func with another func as return" ) print (a) def func(b): print ( "this is another function" ) print (b) return func func( 2018 )( 11 ) >>> this is func with another func as return 2018 this is another function 11 |
其實,這種情況最常用在卷積神經網絡中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
def model(input_shape): # Define the input placeholder as a tensor with shape input_shape. X_input = Input (input_shape) # Zero-Padding: pads the border of X_input with zeroes X = ZeroPadding2D(( 3 , 3 ))(X_input) # CONV -> BN -> RELU Block applied to X X = Conv2D( 32 , ( 7 , 7 ), strides = ( 1 , 1 ), name = 'conv0' )(X) X = BatchNormalization(axis = 3 , name = 'bn0' )(X) X = Activation( 'relu' )(X) # MAXPOOL X = MaxPooling2D(( 2 , 2 ), name = 'max_pool' )(X) # FLATTEN X (means convert it to a vector) + FULLYCONNECTED X = Flatten()(X) X = Dense( 1 , activation = 'sigmoid' , name = 'fc' )(X) # Create model. This creates your Keras model instance, you'll use this instance to train/test the model. model = Model(inputs = X_input, outputs = X, name = 'HappyModel' ) return model |
總結
以上所述是小編給大家介紹的Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:https://blog.csdn.net/shenziheng1/article/details/84646453