tf.Variable();lambda 匿名函数理解

    科技2024-06-18  66

    1.tf.Variable()函数:

    tf.Variable(initializer,name): initializer 初始化参数; name 变量名称(自定义)。

    tf.Variabale()构造一个变量添加进图里(一个tensor),并且需要一个指定变量的类型和形状的初始值,通过tf.Variable构造的函数后,此变量的类型和形状不可更改。

    用法如下:

    import tensorflow as tf v = tf.variable(tf.ones([2,2]),name='v') with tf.Session() as sess: sess.run(tf.global_variables_initializer()) print(sess.run(v)) #结果如下: [[1.,1.] [1.,1.]]

     

    2.lambda 匿名函数

    lambda_expr        ::=  "lambda" [parameter_list]: expression lambda_expr_nocond ::=  "lambda" [parameter_list]: expression_nocond

    Lambda expressions (sometimes called lambda forms) are used to create anonymous functions. The expression lambda arguments: expression yields a function object(表达式产生一个函数对象). The unnamed object behaves like a function object defined with(此函数对象没有名字但是功能与def 定义函数类似) def <lambda>(arguments):     return expression See section Function definitions for the syntax of parameter lists. Note that functions created with lambda expressions cannot contain statements or annotations(用lambda表达式创建的函数不能包含语句或注释。).

    可以理解为lambda是用一个表达式定义一个函数(unnamed),

    特点:

    1.功能与def类似。但是def是语句,lambda是表达式;

    2.lambda函数不能完成复杂的逻辑,功能简单;

    3.lambda使代码简洁,定义的函数更易理解;

    用法:

    s = lambda x:x+1 #x为入口参数 x+1为表达式(表达式可以是任意的且只能有一个,但参数不唯一) print(s(1)) #结果为: 2 s = lambda x,y:x+y print(s(2,1)) #结果为: 3

     

    Processed: 0.017, SQL: 9