然后我们就可以用Y_comb F制造出我们想要的递归函数。我在这里加了一个wrapper来达到模拟Y-Combinator 在 \lambda - calculus 里的效果: def wrapper(*args): res = Y_comb(F)(*args) while callable(res): res = res() return res 有了这些,我们就可以定义Python 版的Y-
然后我们就可以用Y_comb F制造出我们想要的递归函数。我在这里加了一个wrapper来达到模拟Y-Combinator 在 - calculus 里的效果: def wrapper(*args): res = Y_comb(F)(*args) while callable(res): res = res() return res 1. 2. 3. 4. 5. 有了这些,我们就可以定义Python 版的Y-Combinator: def ...
其实在Lambda演算中实现递归的思想很简单,就是函数把自己作为第一个参数传入函数,然后后面就是简单的Lambda变换提取出Y combinator了。好,接下来是本篇的正文: --- 昨天fengidri给我演示了yield的用法,让我大受启发——可以用yield来实现SICP里描述的流计算模式。 所谓的流,也就是stream,实质上是一个惰性求值的列...
在一般的编程语言中,我们可以通过在函数中引用自己的函数名来写出递归。但对于没有名字的函数,如何递归是一大挑战,我们很快会看到,通过一套固定的技巧,我们可以很容易的写出匿名的递归函数,而将这套固定技巧抽离出来,就是Y combinator。 我们先试着写一个手动模拟执行递归的版本,模拟一下最简单的情况,n=0,n=1,n...
首先先提一下上一篇《如何猜出Y combinator》中用的方法太复杂了。其实在Lambda演算中实现递归的思想很简单,就是函数把自己作为第一个参数传入函数,然后后面就是简单的Lambda变换提取出Y combinator了。好,接下来是本篇的正文: --- 昨天fengidri给我演示了yield的用法,让我大受启发——可以用yield来实现SICP里描述...
url = 'https://news.ycombinator.com/' response = requests.get(url) 检查请求是否成功 if response.status_code == 200: print('请求成功') else: print('请求失败') 解析HTML内容 soup = BeautifulSoup(response.content, 'html.parser') 提取所有新闻标题和链接 ...
https://news.ycombinator.com/item?id=40390287 https://x.com/VictorTaelin?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor https://x.com/DrJimFan/status/1791514371086250291 下载1:OpenCV-Contrib扩展模块中文版教程 在「...
本章将向您展示 Python 函数式编程提供的一些很酷的技巧,并解释 Python 实现的一些限制。虽然我们会尽量避免使用λ演算(λ-演算),但会简要讨论Y 组合子。 最后几段将列出(并解释)functools和itertools库的用法。如果您熟悉这些库,请随意跳过它们,但请注意,这些库中的一些将在后面关于装饰器(第五章,装饰器-通过装...
就个人而言,最希望看到的是某个大的科技公司加入进来,并直接编写他们自己的生态系统。Julia语言非常棒,但生态系统需要被重写。 原文链接:https://yuri.is/not-julia/ HN热议:https://news.ycombinator.com/item?id=31396861 本文已获作者授权,CSDN编译整理,未经授权,禁止转载! END...
first-class function 第一级函数 第一类函数 一等函数 first-class object 第一类的对象 第一级的对象 一等公民 fixed-point 不动点 fixnum 定长数 定点数 flag 标记 flash 闪存 flexibility 灵活性 floating-point 浮点数 floating-point notation 浮点数表示法 flush 刷新 fold 折叠 font 字体 ...