有点编程基础的童鞋看到这个标题可能会有点懵逼,这还是个问题吗?不就是个等号(=)解决问题嘛!我也希望是如此简单,因为上个星期被这个问题折磨到崩溃!
一般的python程序需要赋值时的确是通过等号(=)实现的,不管是变量还是数组,例如:
i=1
pi=3.1415926
x=numpy.arange(1,10)
也可以实现一些稍微复杂的操作:
ilon=90
jlat=40
corr = Corr_piont_and_plane( djf[:,jlat,ilon] , djf )
其中Corr_piont_and_plane是一个函数,有两个参数,djf是冬季距平(500hPa位势高度场),三维数组,函数实现的功能是选择其中一个点(参数1,一维数组)和这个冬季距平(参数2)求时间相关,返回一个二维的相关系数矩阵,表征相关系数的空间分布。研究气候的童鞋会经常用到这个函数,只不过参数1大概率是某个指数序列,参数2大概率是前冬海温距平。
如果这个Corr_piont_and_plane函数是python写的,以上的代码是没有问题的,返回的结果也是正确的。但如果玩了一点骚操作,Corr_piont_and_plane是由Fortran或者C写的,编译成python可调用的动态库(如果对这个骚操作感兴趣,可以点这里),那前面的代码就是个大坑,我在这个大坑里转了