featureoverload 最近的时间轴更新
featureoverload

featureoverload

V2EX 第 557761 号会员,加入于 2021-10-07 11:45:52 +08:00
今日活跃度排名 13754
featureoverload 最近回复了
@Kobayashi 嗯,是有一个 logparser 库的东西。

不过还想了解除了 log 含有的信息之外,还有没有其它消息传递。
50 天前
回复了 MiketsuSmasher 创建的主题 Python Python 类方法的装饰器问题
@2i2Re2PLMaDnghL 正解。

原贴的装饰器写法完全是错的。

你的第一个 solution 不是一种正常的写法;只有某种极为特殊的情况才有可能不得不这么写。
50 天前
回复了 shyrock 创建的主题 Python 阅读 Python 代码的困难
1. 虽然很高级的工程师(对程序理解很深)并不需要很多 type hints ;但 type hints 确实有是要比没有好得多的。

2. Python 可以用很短的代码表达很多的内容(知识)。所以有些代码不具备相关知识自然是看不懂的。

比如,没有掌握递归知识的初学者,看递归函数是很难理解的:

def fib(n):
....if n < 0:
........raise ValueError("can't be negative")
....elif n <= 1:
........return n
....return fib(n-2) + fib(n-1)

(递归不是“内容很多”的知识,所以其它语言也可以用很短的代码实现,这里是强调掌握不掌握这个知识对代码理解的帮助问题)

比如如果没有了解数据结构的特点和一点训练,是很难看懂这段代码:

def find_duplicates(list_):
....existed, duplicate = set(), set()
....for item in list_:
........if item in existed:
............duplicate.add(item)
........else:
............existed.add(item)
....return duplicate

duplicates = find_duplicates(values)


有些疯狂的孩子甚至可以去掉上面这个函数,"一行"得到结果(为了方便阅读,我把调用函数的参数换行):

duplicates = reduce(
....lambda case, item: (case[item in case[False]].add(item), case)[-1],
....values,
,,,,{True: set(), False: set()}
)[True]

所以,要说不好读,确实很多情况都会不好读。
这取决与每个人对软件的理解程度。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3016 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 10:37 · PVG 18:37 · LAX 02:37 · JFK 05:37
♥ Do have faith in what you're doing.