首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
V2EX  ›  Python

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

  •  
  •   winglight2016 · 102 天前 · 1261 次点击
    这是一个创建于 102 天前的主题,其中的信息可能已经有所发展或是发生改变。

    代码如下:

    input_tensor = Input(shape=(64,))

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

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

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

    15 回复  |  直到 2018-01-14 10:56:21 +08:00
        1
    mx1700   102 天前 via Android
    因为函数的返回值还是个函数
        2
    whow   102 天前   ♥ 1
    柯里化
        3
    azh7138m   102 天前 via Android
    1 楼正解
    返回值是个函数
        4
    XIVN1987   102 天前
    python 里不光函数能调用,callable 的对象也能像函数那样调用

    对象想要 callable,只需要它的类实现__call__()方法即可,,这样 objectA()就相当于 objectA.__call__()
        5
    mooncakejs   102 天前 via iPhone
    JAVA 也能这么用的
        6
    NaVient   102 天前
    Java 也能这么用的
        7
    winglight2016   102 天前
    @whow 难怪觉得有点眼熟,scala 里面就是这样的
    @mooncakejs
    @NaVient
    java 怎么这样用的?根本不支持函数式啊,lambda 不能算吧
    @XIVN1987 哦呵呵,明白了
    @mx1700 感谢大佬,我后来想了想,只能这样解释了
        8
    hcnhcn012   102 天前 via iPhone
    Dence 可能是一个闭包结构,返回的是内层函数的引用,再加一个括号就形成内层函数的调用
        9
    ryd994   102 天前 via Android
    @azh7138m,这不是 curry
    curry 是 f(a,b,c)也可以写作 f(a)(b)(c)
    Python 里少参数会直接报错的
        10
    winglight2016   101 天前
    @ryd994 克里化效果跟这个是一样的,也是返回一个函数来处理后面的参数
        11
    azh7138m   101 天前 via Android
    @ryd994 你把 mx1700B 了吧?咱俩看到的不是一个一楼
        12
    ryd994   101 天前 via Android
    @azh7138m 不,单纯点错人了,抱歉
    重新点一下 @whow
    这不是 curry,参见楼上上我说的
        13
    quinoa42   100 天前 via Android
    @ryd994 传入一个参数返回一个函数(这个函数再传入一个函数可以返回一个函数或返回结果)这样的过程就是 curry,无非有的语言有语法糖支持(比如 ML 系直接 fun a b c,racket 的(define (((f x) y) z)...)等等)有的语言没有罢了
    当然没有语法糖支持的语言里用 curry 很蛋疼就是了…
        14
    ryd994   100 天前 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
        15
    quinoa42   100 天前 via Android
    @ryd994 确实是我用词不是很准确,但是确实这应该算 curried function,具体也可以参考你给的 wiki
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2905 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 15ms · UTC 07:04 · PVG 15:04 · LAX 00:04 · JFK 03:04
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1