请教大佬,函数后面又加一个参数,这是什么意思? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
winglight2016
V2EX    Python

请教大佬,函数后面又加一个参数,这是什么意思?

  •  
  •   winglight2016 2018-01-11 21:19:15 +08:00 3894 次点击
    这是一个创建于 2905 天前的主题,其中的信息可能已经有所发展或是发生改变。

    代码如下:

    input_tensor = Input(shape=(64,))

    x = layers.Dense(32, activation='relu')(input_tensor)

    给个关键字我去查一下也是好的^_^

    这种函数式语言对 java 程序员太不友好了~~~

    15 条回复    2018-01-14 10:56:21 +08:00
    mx1700
        1
    mx1700  
       2018-01-11 21:54:25 +08:00 via Android
    因为函数的返回值还是个函数
    whow
        2
    whow  
       2018-01-11 23:39:27 +08:00   1
    柯里化
    azh7138m
        3
    azh7138m  
       2018-01-12 08:52:57 +08:00 via Android
    1 楼正解
    返回值是个函数
    XIVN1987
        4
    XIVN1987  
       2018-01-12 09:14:27 +08:00
    python 里不光函数能调用,callable 的对象也能像函数那样调用

    对象想要 callable,只需要它的类实现__call__()方法即可,,这样 objectA()就相当于 objectA.__call__()
    mooncakejs
        5
    mooncakejs  
       2018-01-12 09:30:11 +08:00 via iPhone
    JAVA 也能这么用的
    NaVient
        6
    NaVient  
       2018-01-12 10:14:44 +08:00
    Java 也能这么用的
    winglight2016
        7
    winglight2016  
    OP
       2018-01-12 12:10:23 +08:00
    @whow 难怪觉得有点眼熟,scala 里面就是这样的
    @mooncakejs
    @NaVient
    java 怎么这样用的?根本不支持函数式啊,lambda 不能算吧
    @XIVN1987 哦呵呵,明白了
    @mx1700 感谢大佬,我后来想了想,只能这样解释了
    hcnhcn012
        8
    hcnhcn012  
       2018-01-12 12:21:39 +08:00 via iPhone
    Dence 可能是一个闭包结构,返回的是内层函数的引用,再加一个括号就形成内层函数的调用
    ryd994
        9
    ryd994  
       2018-01-12 12:46:05 +08:00 via Android
    @azh7138m,这不是 curry
    curry 是 f(a,b,c)也可以写作 f(a)(b)(c)
    Python 里少参数会直接报错的
    winglight2016
        10
    winglight2016  
    OP
       2018-01-12 19:45:06 +08:00
    @ryd994 克里化效果跟这个是一样的,也是返回一个函数来处理后面的参数
    azh7138m
        11
    azh7138m  
       2018-01-13 00:08:17 +08:00 via Android
    @ryd994 你把 mx1700B 了吧?咱俩看到的不是一个一楼
    ryd994
        12
    ryd994  
       2018-01-13 00:26:22 +08:00 via Android
    @azh7138m 不,单纯点错人了,抱歉
    重新点一下 @whow
    这不是 curry,参见楼上上我说的
    quinoa42
        13
    quinoa42  
       2018-01-14 06:08:38 +08:00 via Android
    @ryd994 传入一个参数返回一个函数(这个函数再传入一个函数可以返回一个函数或返回结果)这样的过程就是 curry,无非有的语言有语法糖支持(比如 ML 系直接 fun a b c,racket 的(define (((f x) y) z)...)等等)有的语言没有罢了
    当然没有语法糖支持的语言里用 curry 很蛋疼就是了…
    ryd994
        14
    ryd994  
       2018-01-14 10:39:44 +08:00 via Android
    @quinoa42 wiki:In mathematics and computer science, currying is the technique of translating the evaluation of a function that takes multiple arguments (or a tuple of arguments) into evaluating a sequence of functions, each with a single argument. Currying is related to, but not the same as, partial application.

    函数返回函数那叫 metaprogramming
    quinoa42
        15
    quinoa42  
       2018-01-14 10:56:21 +08:00 via Android
    @ryd994 确实是我用词不是很准确,但是确实这应该算 curried function,具体也可以参考你给的 wiki
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5612 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 01:59 PVG 09:59 LAX 17:59 JFK 20:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86