O5oz6z3

O5oz6z3

V2EX 第 481583 号会员,加入于 2020-04-04 16:26:00 +08:00
今日活跃度排名 103
鱼与熊掌,二者何不得兼?three.cat 三脚猫编程;冥间思而不学家,简称民撕者;一瓶不荡,半瓶很响;
根据 O5oz6z3 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
O5oz6z3 最近回复了
高情商:你有没有想过群居动物为了合群,需要改变自己来融入圈子?
低情商:你没有想过,你只在乎你自己
你来找安慰,他来找乐子,我来找存在感,大家都有无限的可能性
感觉和这个帖子很像 /t/806979
顺便想到两种可能:1 、久坐 2 、肚子饿了 3 、左右脑交替使用?
10 天前
回复了 NoUltimate 创建的主题 Apple 想请教一下你们怎么管理苹果相册
没看懂在争啥,不就是分治与 AI 吗?文件夹(树形)更有条理,可以按自己口味清晰地分门别类,不过很费时费力。图库(扁平)更便利,不过只能按机器的口味来分类照片,而且图片全部混合在一起难以手动整理。
两种思路:1 、反正整理完也是吃灰 2 、分类问题就是空间问题,空间问题就是成本问题,成本问题就是钱的问题,钱的问题不是问题!
11 天前
回复了 Linchstein 创建的主题 随想 今年春天,我放生了一条鲨鱼
鲨鱼放水缸,小鱼已为汁,已与家父谈,欲载河中弃,若非已放生,香煎鱼翅鳍!《弃布施·月半武》
25 天前
回复了 MiketsuSmasher 创建的主题 Python Python 类方法的装饰器问题
原因是在类定义内使用 valid_before_logout 时,就是个普通函数,不是实例方法,所以会缺少 self 。就和 cls.method() 是一样的,会报错缺少 self 。一开始我也以为装饰成静态方法或类方法就解决了,没想到这种方法不兼容直接调用。
想到一个简单的思路兼容两种情况,不过没有试验过:
def valid_before_logout(self, func=None):
... func = func or self
... #...
27 天前
回复了 abersheeran 创建的主题 Python 求一个获取 lambda 对象源代码的方法
@abersheeran #15 我指的是 __code__.co_code 字节码,是从那篇文章中学来的,虽然我也不确定这个字节码比较是否可靠。顺便写了两个 demo 。
简单的情况:
source_text = inspect.getsourcelines(lambda_func)[0][0]
source_ast = ast.parse(source_text)
lambda_node = next((node for node in ast.walk(source_ast) if isinstance(node, ast.Lambda)), None)
lambda_text = ast.unparse(lambda_node)
复杂的情况:
text = 'lambda' + inspect.getsource(lambda_func).partition('lambda')[2].rstrip()
while text:
... try:
... ... tree = ast.parse('({})'.format(text))
... ... srcs = [ast.unparse(node) for node in ast.walk(tree) if isinstance(node, ast.Lambda)]
... ... break
... except SyntaxError:
... ... text = text[:-1]
test = lambda src: compile(src,'','eval').co_consts[0].co_code==lambda_func.__code__.co_code
hits = list(filter(test, srcs))
27 天前
回复了 abersheeran 创建的主题 Python 求一个获取 lambda 对象源代码的方法
本质上也许是寻找一个表达式的源码位置:
1. lambda 有多少行?
2. 同一行里有几个 lambda ?
3. 是否嵌套 lambda ?
4. 是否有'lambda'字面字符串?
http://xion .io/post/code/python-get-lambda-code.html
看到这篇文章和#3 楼的实现,想到一个未验证的思路:对 inspect.getsource() 获取的源码进行修剪并编译成 ast,遍历 ast 提取所有 lambda 节点,用 Python3.9 的 ast.unparse() 获取近似的源码,用 co_code 判断源码编译后是否等价。
跑个题,其他人未必随便吧,不是古语云台上十分钟
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1420 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 9ms · UTC 17:47 · PVG 01:47 · LAX 10:47 · JFK 13:47
♥ Do have faith in what you're doing.