F2py 默认参数

F2py default argument

我想构建一个带有默认参数的函数。但是,以下任何简单方法都无法使用 F2PY 进行编译,并打印以下简单且无提示的错误消息 "error: f2py target file '/tmp/....' not generated"。

第一次使用可选

  module a
  contains

  integer function func(j)
    implicit none
    integer, optional :: j

    if(present(j)) then
      func = j
    else
      func = 0
    endif
  end function 

  end module

另一种是使用接口的函数重载

  module test
    interface func
      module procedure :: func0, func1
    end interface
  contains

  integer function func0()
    implicit none
    func0 = 0
  end function 

  integer function func1(j)
    implicit none
    integer, intent(in) :: j
    func1 = j
  end function
  end module

感谢您的帮助。

您可以使用 F2PY 指令初始化表达式。

integer function func(j)
  implicit none
  integer :: j
  !f2py integer :: j = 0

  func = j
end function