分享一下同事写的 Python 代码, 看了前面三个函数我就有点蚌埠住了...😂

256 天前
 v24radiant

2716 次点击
所在节点    分享发现
34 条回复
v24radiant
256 天前
@fatigue 学到了学到了😂
NoOneNoBody
256 天前
@v24radiant #14
第一个传 gamma 算 table 也不算大问题,只是没有优化而已,但计算这个 table 消耗不大,也可以不优化
因为 gamma 往往是初始参数,gamma_table 属于中间变量,对于其他用户,肯定是传 gamma 进去的,而不是 table ;所以保持参数为 gamma 便于以后复用时的理解
如果处理的图片极多(过万张),我写的话会把 table 抽出来做个 cache ,如果千张左右没必要,保持易读性更好

“If exist_ok is False (the default), an FileExistsError is raised if the target directory already exists.”
makedirs 默认是会报错的,不过 exist_ok=True 可以避免
我看这种写法更像是写成闭包,这样可以批量 apply ,便于向量化或者并发

PS:这些函数倒是很像是 AI 写出来的
SenLief
256 天前
就是有点冗余,你们绩效不会是看代码的吧😁
nagisaushio
256 天前
像极了我写一次性的脚本,怎么快怎么来
NoOneNoBody
256 天前
@v24radiant #18
我也说说这个多余的 defaut ,我以前也不写这些“多余”的
直到做批量数据,跑一个十万数据,到 80%时报错中断了,前面几万个白跑了,追查就是其中一个数据异常,无法计算中间数据,导致后面报错
然后我就加了个容错,十万能跑完,只是这个异常的数据无结果而已,其他都有结果,容错就是这句 defaut
v24radiant
256 天前
@NoOneNoBody #25 兄弟你仔细看看这个 dafulat 跟其他 case 不一样,是没有返回值的😂如果跑到这里必定报错
NoobNoob030
256 天前
挂我是吧?下班别走
NoOneNoBody
256 天前
typo: default
zagfai
256 天前
@c3de3f21 继承自 C 的灵活性
v24radiant
256 天前
@NoOneNoBody #28 打快了😂
NoOneNoBody
256 天前
@v24radiant #26
dict.get 没找到 key 时,返回指定 default 值

他应该写错了
我写的话应该是
if ...: choice=something
elif ...
else: pass
return switch.get(choice, default)()

把 switch.get(choice, default) 抽到 if..else..外面
NoOneNoBody
256 天前
@v24radiant #30
哈哈,我说的是我自己打错了,没想到你还先回复了,变成说你了,误解误解
v24radiant
256 天前
@NoOneNoBody #31 python3.10 支持 match case 了,也可以不用这么麻烦
28Sv0ngQfIE7Yloe
255 天前
@tangtang369 看的难受 哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1023695

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX