什么是Python中的intent(INOUT)Fortran子例程的等价物?

时间:2017-04-11 15:01:28

标签: python fortran subroutine

在Fortran中,subroutine可以修改输入的任何变量(只要它有intent(INOUT))。请考虑以下代码:

program example

  implicit none
  integer:: i, j, k, l

  i = 1
  j = 2
  k = 3
  l = 4

  call swap(i,j)
  print*, i, j

  call swap(k,l)
  print*, k, l

  contains

    subroutine swap(a,b)
      integer, intent(INOUT) :: a, b
      integer :: aux
      aux = a
      a = b
      b = aux
    end subroutine

end program example

输出:

2 1
4 3

所以我的问题是如何在Python中实现相同的目标?在Python中,函数内的局部变量不会影响全局变量,在函数内定义global my_variable会将单个变量硬编码到该函数。

0 个答案:

没有答案