f2py::演示在python中如何使用Fortran代码

22 篇文章 4 订阅
15 篇文章 0 订阅

f2py是numpy自带的一个工具,只要安装了numpy,一般都会安装f2py.exe和f2py.py两个文件.

f2py.exe适合在命令行中使用,而f2py.py则一般在python代码中使用.

废话少说, 先建立一个testfortran.f90的文件如下:

 

!SUBROUTINE      
      SUBROUTINE ADDSUB(A,B,C,D)
      IMPLICIT NONE
      DOUBLE PRECISION A,B,C,D
!f2py intent(in) :: A,B
!f2py intent(out) :: C,D
      C = A + B
      D = A - B
      print*, "ADDSUB From Fortran!"
      print*, "ADD=",C
      print*, "SUB=",D
      RETURN
      END


注意这两行的代码:

!f2py intent(in) :: A,B
!f2py intent(out) :: C,D


对于Fortran只是注释,但对于f2py却很重要,相当于"签名".

注意签名的注释前面不能有空格!

当然也可以写成如下的形式:

Cf2py intent(in) :: A,B
Cf2py intent(out) :: C,D

下面开始编译Fortran代码为python模块,打开CMD窗口,输入如下命令:

f2py -m testfortran -c testfortran.f90

会在当前目录下生成testfortran.pyd的文件.


下面就可以再python中使用这个模块了:

In [1]: import testfortran

In [2]: print testfortran.__doc__
This module 'testfortran' is auto-generated with f2py (version:2).
Functions:
  c,d = addsub(a,b)
.

In [3]: x=testfortran.addsub(4,9)
ADDSUB From Fortran!
ADD= 13.000
SUB= -5.000
In [4]: x
Out[4]: (13.0, -5.0)

In [5]: 


 

numpy和f2py的主页也详细的说明,大家可以自己去看看:

http://www.scipy.org/F2py


 

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值