microsoft jscript编译错误_Python脚本中的错误可能使150多个研究项目无效

a06b1c05939d08708fb3ccfc8cbce7c5.png

一组用于计算分析的Python脚本中的编码错误可能使150篇已发表的化学研究无效。

夏威夷大学最近发表的一篇研究文章显示了Willoughby-Hoye脚本中的编程错误。

研究人员试图检查从蓝细菌实验获得的结果,观察到了使用类似的核磁共振波谱(NMR)数据获得的结果的显着变化。

传播的错误取决于运行脚本的操作系统。发现这些脚本在Windows 10和macOS Mavericks上可提供准确的结果,但在macOS Mojave和Ubuntu上的准确率却差了将近百分之一。

这些变体的来源来自脚本对Python的glob模块的使用。

glob模块查找与特定名称模式相对应的文件,并且脚本根据glob结果生成要读取的输入文件列表。

但是,此模块的输出取决于用于排序和返回这些文件的操作系统。处理文件所采取的顺序会影响这些脚本进行的计算结果。

由于输出不准确,这个小细节可能会使许多以前的研究论文无效。

菲利普·威廉姆斯(Phillip Williams)和孙睿(Rui Sun)编写了代码,以解决此正确排序问题,现在可以保证结果一致。尽管这些变化对夏威夷大学团队获得的数据结果没有任何影响,但可能会对其他已发表的研究项目产生实质性影响。

Willoughby-Hoye脚本以明尼苏达大学的作者Patrick Willoughby和Thomas Hoye的名字命名。

帕特里克·威洛比(Patrick Willoughby)目前是Ripon大学化学系的助理教授,现在他对新发现以及对脚本的新更正表示认可。此更新在他在Twitter上的帖子中广为人知:

“ Rui和Williams教授的伟大发现。六年前,当我编写脚本时,操作系统能够处理排序。 Rui和Williams添加了必要的排序代码,并添加了一个函数以确保计算正确对齐。荣誉!” —帕特里克·威洛比(@pat_willoughby)

有时,信任外部脚本和库可能会导致意外结果。

现在,您可能错过了其他三个更新。

故事1. Salesforce“爱因斯坦分析”从Python更改为Google的Go语言

Salesforce将使用Google的Go编程语言来代替Einstein Analytics的C和Python。

通过在分析公司Tableau上花费超过157亿美元来增强Einstein Analytics平台,很明显Salesforce认为分析是其未来的重要组成部分。

2017年,在推出Einstein Analytics之前,该公司使用Google的Golang进行了大修并重建了后端。

Salesforce首席架构师Guillaume Le Stum指出,数据集创建工具和查询引擎使Einstein Analytics在C中“为提高性能”而创建,而Python包装器提供了其他功能,如REST API服务器,解析查询等。

Le Stum在有关Stack Overflow的帖子中说:

“从本质上讲,该产品具有两全其美的特点。

Python非常适合快速编写更高级别的应用程序,但并不总是能够提供企业级所需的高性能。 C会创建高性能的可执行文件,但是添加功能会花费更多时间。”

但在发布前,Le Stum表示该平台由于添加了最初不属于其核心查询引擎的新功能而开始出现性能下降。因此,即使具有开发和部署这些新功能的能力,Salesforce也可能正在考虑其长期计划。

Le Stum补充说:“ Python不能很好地执行多线程,因此,要求包装程序执行的越多,它的执行效果就越差。”

相比之下,Go适合适用于Google生产系统的大型应用程序,这也可能说明了从混合C-Python到Go平台的转变。

Le Stum进一步强调了Go的优势,其中包括内置工具,轻松的故障排除,快速的编译时间和部署,以及使编码易于理解的方法。

Le Stum指出,在企业软件中,工程师花费的时间比创建代码花费的时间更多。

尽管如此,用Go编写的概念证明仍使Salesforce可以随着该平台的Go版本在2018年全面上市而进一步发展。它的显着优势包括Go的跨平台功能,该功能可轻松移植代码。

Le Stum指出:“如果我们需要在移动应用程序中使用任何这些代码,则可以将其交叉编译到iOS或Android,并且可以正常工作。”

不是用Go编写的Einstein Analytics平台的唯一部分是它的集群管理器,它使用Java。

故事2。Microsoft推出了免费的Python编程课程

微软最近发布了一个YouTube视频系列,称为“ Python for Beginners”。新系列的目标是向有抱负的程序员讲授Python的基础知识。

苏珊·伊巴赫(Susan Ibach)和克里斯托弗·哈里森(Christopher Harrison)也将主演该系列。 Susan是Microsoft的AI游戏部门的业务开发经理之一,而Christopher目前是Microsoft的高级程序经理。

微软说:

“尽管本课程不会涵盖所有关于Python的知识,但我们还是要确保我们为您提供从Python编程的基础,从日常的日常代码和场景开始。”

该课程分为44个部分,将重点放在Python 3.X版本上,并针对具有JavaScript基本知识或参加某种形式的可视化编程语言的读者。

该课程中提供的教程的视频时长可能在三到十分钟之间,涵盖了Visual Studio Code的配置,处理循环以及执行错误处理等功能。

此外,Microsoft还在视频旁边发布了一系列附加资源。增加的资源将包括幻灯片和编码示例。

ZDNet的报告强调说,Microsoft可能会从其庞大的Python开发人员中受益,这些开发人员可以将Python应用到其Azure Machine Learning Studio中来构建应用程序。

故事3.带有Walrus运算符的Python 3.8现在可用,并且仅支持位置参数

Python最近发布了其最新版本Python 3.8,该版本具有一些新功能和改进。十月初,Python团队公开了它的Python 3.8b2版本,这是四个计划beta版本中的第二个版本。

Python 3.8新增了哪些功能?

从各个方面讲,Python 3.8的新增功能都令人着迷。一些值得注意的补充包括:

新的功能参数(PEP 570)。

新的Walrus运算符(PEP 572)。

Pickle协议5支持带外数据缓冲区(PEP 574)。

已验证的打开挂钩和审核挂钩(PEP 578)。

用于配置Python初始化的新C API(PEP587)。

支持Vectorcall(PEP 590)。

值得一提的其他新功能包括:

格式化的字符串(f-strings)现在具有=说明符,新的元数据模块(importlib.metadata)和并行文件系统缓存。

您可以在Python文档中的新Python 3.8中看到其他改进的模块,增加的内容和删除的内容。另外,有关完整的详细信息,请检查变更日志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值