① 有前辈对比过IDL和python的速度吗,哪个会快点
您好,很高兴为您解答:
IDL的语法类似fortran,数据处理上相对较弱,许多算法就是用IDL源码现编译的(IDL目录下就有这些源码),没经过优化,速度上赶不上其他语言,计算精度上跟大名鼎鼎的MATLAB都不知道差了多少截
不过NB就在画图上,很容易生成高质量的PostScript矢量图,毕竟人是拿图像吃饭的……它的衍生产品ENVI是用来做GIS(地理信息系统)的。
如果我的回答没能帮助您,请继续追问。
② 选择Python还是IDL
看来你并不了解方案三。
其实方案三与方案二是同一个,就是ArcGIS引擎+通用编程语言的模式。
方案一是IDL引擎+通我编程语言的模式。
选择方案,需要比较的有两方面:
首先,确定选用哪种图形引擎:根据功能来看,你对图形引擎没有特殊需求,选哪种似乎都行;
其次,使用的语言中提到VC、VB和Python,如果没有特殊理由(比如某些地方限定必须使用等),最好采用Python,一方面是灵活,一方面是易学易用,至少比VC节省一半的工作量。
最后,在选用图形引擎时,如果你没有特殊倾向,而且功能也够用,本人建议采用ArcGIS引擎,这样至少能节省在数据管理方面的工作量。
③ python中的随机数是怎么实现的
PYTHON中的伪随机数发生器用的是梅森旋转算法。
梅森旋转算法(Mersenne twister)是一个伪随机数发生算法。由松本真和西村拓士在1997年开发,基于有限二进制字段上的矩阵线性递归。可以快速产生高质量的伪随机数,修正了古典随机数发生算法的很多缺陷。
梅森旋转算法是R、Python、Ruby、IDL、Free Pascal、PHP、Maple、Matlab、GNU多重精度运算库和GSL的默认伪随机数产生器。从C++11开始,C++也可以使用这种算法。
整个算法主要分为三个阶段:获得基础的梅森旋转链;对于旋转链进行旋转算法;对于旋转算法所得的结果进行处理。
算法实现的过程中,参数的选取取决于梅森素数,故此得名。
梅森素数由梅森数而来。所谓梅森数,是指形如2↑p-1的一类数,其中指数p是素数,常记为Mp 。如果梅森数是素数,就称为梅森素数。
例如4-1=3,8-1=7,16-1=15(不是素数),32-1=31,64-1=63(不是素数)等等。
④ 怎么把python程序变成代码
1.1 安装所需要的Python库
在Python中,将代码转成可以执行的程序需要安装库pyinstaller。本人的运行环境是macOS ,打开终端然后输入(如果是Windows用户,打开Anaconda Prompt),然后输入如下代码:
(/usr/local/anaconda3) liuxiaowei@MacBookAir python_exe % pip install pyinstaller
1
1
如果网速慢或者安装报错,可以使用下面的代码:
(/usr/local/anaconda3) liuxiaowei@MacBookAir python_exe % pip install --index-url https://pypi.douban.com/simple pyinstaller
1
1
1.2 对代码进行打包
安装完pyinstaller库之后就可以对代码进行打包, 首先将Python代码保存为**.py**格式的文件,放到一个文件夹内。例如写一个如下代码的小程序:
import os
os.mkdir(os.getcwd() + 'test_file') # 在当前文件夹下建立一个test_file文件夹
1
2
1
2
将此程序保存到指定文件夹,文件格式为.py。然后在Anaconda的环境下进入终端命令,如下图:
然后输入如下命令:
(/usr/local/anaconda3) liuxiaowei@MacBookAir python_exe % pyinstaller -F mkdir_code.py
1
1
程序运行之后,该文件中除了mkdir_code.py文件之外,又多了几个文件,打包好的程序就在dist文件夹中,如下图:
进入dist文件夹,然后双击这个dist文件夹里的**.exe**文件,就可以看到新增加一个文件夹。
⑤ IDL和Python的速度,哪个会快点
俗话说的好:不要过早纠结性能一定要纠结的话。。其实python有第三方库比如numpy来解决性能问题,还有变种CPython、PyPy等编译型的python。。。总之就是不用管语言本身,这是水到渠成的事。。
希望采纳
⑥ python怎么调用idl中的函数
你先定义了一个函数; 然后在调用一个函数,但是定义过程中你的函数是有返回值的,调用的话,你应该用一个变量去“放”这个值;所以这里get(5,6)看不到任何输出; 如下: def shan(): ... rsult=get(a,b) print result ... 或者直接pri
⑦ 怎么将下面的java转成python
如下的java代码:
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}12345678910111234567891011
转换后的代码:
#!/usr/bin/env python
""" generated source for mole App """
#
# * Hello world!
# *
#
class App(object):
""" generated source for class App """
@classmethod
def main(cls, args):
""" generated source for method main """
print "Hello World!"
if __name__ == '__main__':
import sys
App.main(sys.argv)
然后运行python代码,打印出了 ‘hello world!’
⑧ 谁能给详细介绍xmlrpc,并说明如何用python实现感谢
XMLRPC,顾名思义就是应用了XML技术的RPC
RPC是Remote Procere Call的缩写,翻译成中文就是远程过程调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术。
按照“数据即程序”的观点来看,RPC无非是借助一些通信手段来互相传递数据(信息),所也她也是“高”层次的通信手段,无非是这种通信手段看起来更像是“过程的调用”,因为她往往以一个“函数”的面目示人,从而掩盖了她交换信息的实质。
在各种RPC技术中,我想应该以Sun的RPC最为着名,比较流行的网络文件系统NFS就是建立在SUN RPC技术基础之上的。
在Sun RPC中,调用双方传递的数据是二进制的,而在XMLRPC中数据将是XML格式的。那么为什么用XML而不用二进制呢?我想一方面应该是为了兼容更多的语言,因为这个世界上除了C/C++等编译语言,还有很多类似python,perl,javascript等的脚本语言(最近有些文章也称其为“动态语言”,因为他们通常不需要自己管理内存),另一方面是为了隔离操作系统的差异,比如说Little Endian和Big Endian的差异等。基于种种原因,XMLRPC选择了XML这种中间语言作为其信息的格式,然后由各个语言负责将其转变成各自native(本土)的数据类型。关于为了兼容各个语言所发明的中间语言还有IDL(Interface Definition Language:接口定义语言),它被用于CORBA接口的定义。
python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。
下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:
#!/usr/bin/env python
print "Hello, world!"
或者:
import sys
sys.stdout.write("Hello, world\n")
⑨ 怎么把这个C语言转换成python
C语言不能转化为python,它们之间没有之间联系,只能说算法是可以转化实现的。
⑩ c#项目可以转化为python吗
c#项目可以转化为python。根据查询相关资料信息Python与C#一样,能够很好地支持面向对象的编程模式。
1、学习python语法,完成python。cookbook上的代码。目标熟悉python语法和开发习惯,以及调试方法。
2、学习使用Django框架,完成一个基于Django框架的项目,发布到github上。目标上手网站开发。
3、有时间阅读下Django源码,了解其MVC框架的实现原理和ORM的方法。目标培养阅读代码的能力,仔细感受一下优秀的开源框架。
4、python实现-遍设计模式。目标虽然常用的设计模式都有所了解,但是用到的只有有限的几个。在以后的阅读开源框架时要注意积累。
5、熟悉pyunit的使用。目标了解pyunit的简单使用。目前就想到这些,欢迎各路大侠提建议。手头的winform项目完成后,正式转python。