在NeRF-pytorch项目中,run_nerf_helpers.py文件中有句代码如下:
embed = lambda x, eo=embedder_obj : eo.embed(x)
lambda表达式
embed = lambda x, eo=embedder_obj : eo.embed(x)
初看看晕了,实际原因还是因为不懂lambda表达式规则导致的,解释如下:
lambda格式,lambda argument_list :expression 。 冒号前面的为参数,冒号后面的为表达式。 eo=embedder_obj 将embedder_obj类赋给eo。
故上句代码的解释为将参数x和eo赋给表达式eo.embed(x)进行运算。