pythonfortran
‘壹’ 求高手解惑,下面几行python 是什么意思,能用fortran写吗
fortran的文件读写似乎比较特别,需要格式固定才效率最高。
时间解析,这个功能我在fortran里还没有用过,过去用fortran主要是计算。
不过可以自己编写字符串解析函数。按理以上逻辑都可以用fortrans编写。
有次高级程序员考试。我发现fortran的题要简单的多,就做了fortran的。
‘贰’ 为什么越来越多的科学家使用Python,Ruby而非Fortran
Fortran语言作为一种上古语言,其实被淘汰也不为过,单就编程语言来讲,估计要被很多语言吊打。
但是啊但是,你看,搞科学研究的,不是每个人都可以做吧?很多科学家并不是特别地偏爱Fortran,只是在很多研究领域,早于计算机的发明,对科学家而言,很多时候计算是一个很大的瓶颈。
刚好计算机出来之后,Fortran整出来,科学家们十分高兴地找到了能代替他们完成计算的编程语言,然后就一发不可收拾了,慢慢地就积累了一批优秀的代码(以及更多你看不到的稀烂的代码),等老板带徒弟搞研究,一来已经有很多大量的Fortran代码可以用,二来你自己搞个其他语言写的代码,老板表示看不懂可如何是好。所以自然地继承下来(并顺便发扬光大了)。
如果Python和Fortran处在同样的历史机遇下,我估计现在很多人都不知道有这么个语言了。
和Fortran语言境遇类似的还有一个叫做COBOL,据说现在还有代码运行在商业应用上。
‘叁’ 求教做数值计算学什么语言FortranCPython
我推荐Python。
Python拥有越来越丰富的数值计算的Library,可以支持强大计算功能。最重要的是上手简单,入门快,编程的效率高。加上,越来越多的人开始关注Python,未来Python可能也会十分热门,支持大量的库函数,拥有庞大的社区和升级的支持。加上,Python还可以用来做很多很多有意思的事情,真的很值得一学。
‘肆’ Python为什么能扩展
Python 具有高可扩展性,存在许多使用 C 语言或 Fortran 编写扩展的方法。必要时,Python 代码可以直接将这些扩展作为子例程来调用。这部分讨论用于构建扩展的一些主要编译器(绝对不是完整列表)。
相关推荐:《Python基础教程》
Cython
Cython(不同于 CPython)既是指一种语言,也是指一种编译器。Cython 语言是添加了 C 语言语法的 Python 语言的超集。Cython 可以在代码段或完整函数中显式释放 GIL。变量和类属性上的 C 类型声明以及对 C 函数的调用都使用 C 语法。其余部分代码则使用 Python 语法。通过这个混合的 Cython 代码,Cython 编译器可生成高效的 C 代码。任何定期优化的 C/C++ 编译器都可以编译此 C 代码,从而高度优化扩展的运行时代码,性能接近于原生的 C 代码性能。
Numba
Numba 是一个动态、即时 (JIT) 且可感知 NumPy 的 Python 编译器。Numba 使用 LLVM 编译器基础架构,生成优化的机器代码和从 Python 调用代码的包装器。与 Cython 不同,编码使用常规的 Python 语言。Numba 可读取来自装饰器中所嵌入注释的类型信息,并优化代码。对于使用 NumPy 数据结构的程序,比如数组以及许多数学函数,它可以实现与 C 或 Fortran 语言类似的性能。NumPy 对线性代数和矩阵函数使用硬件加速,利用 LAPACK 和 BLAS 提供额外加速,大大提升了性能,参见 IBM 博客文章C、Julia、Python、Numba 和 Cython 在 LU 因式分解方面的速度比较。
除 CPU 以外,Numba 还能够使用 GP-GPU 后端。Anaconda, Inc. 是 Python 某个主要发行版的幕后公司,该公司还开发了 Numba 和商业版的 Numba Pro。
Fortran to Python Interface Generator
Fortran to Python Interface Generator (F2Py) 起初为一个独立的程序包,现在包含在 NumPy 中。F2Py 支持 Python 调用以 Fortran 编写的数值例程,就好像它们是另一个 Python 模块一样。因为 Python 解释器无法理解 Fortran 源代码,所以 F2Py 以动态库文件格式将 Fortran 编译为本机代码,这是一种共享对象,包含具有 Python 模块接口的函数。因此,Python 可以直接将这些函数作为子例程来调用,以原生 Fortran 代码的速度和性能来执行。
‘伍’ 请教python与fortran在计算精度方面的差异
精度没什么好比的,它和数据类型有关,同样的数据类型,精度之差可以忽略。
python其实是基于c的,是c的运行库、c的程序在解释执行。
python的特长应该在数据挖掘,可不要和fortran去比科学计算。
‘陆’ 如何编译用于FORTRAN的Python脚本
python脚本:*.pyf,要给出fortran使用的变量等信息 f2py工具将fortran代码转换成共享库文件按*.so可供python使用, python也可直接调用而不使用*.so,但也要写接口
‘柒’ 为什么Python适合科学计算
原因大约有以下几点:
1. Python的语法简单,这对很少接触编程的搞学术老师的福音。
2. Python相较于其他语言有更丰富的模块,比如科学计算的numpy。
3. Python越来越流行。
Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。
Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写。比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。
‘捌’ python 和fortran存储二进制文件有何区别
python我不知道。
但是fortran并没有规定存储二进制文件的格式,只要程序员对二进制足够了解。可以读取或写入任何格式的二进制文件。
‘玖’ FORTRAN中调用Python文件
f90的语言标准里没说有启动进程的功能,但是多数compiler都提供一个routine可以让你启动别的进程,你得看你的compiler的manual。