我很好奇为什么它的增加速度比在python中获取功能要快得多(尽管从我读过的内容来看,这在很多其他语言中也是如此).例如,它要快得多
x*x
Run Code Online (Sandbox Code Playgroud)
比
x**2
Run Code Online (Sandbox Code Playgroud)
我认为**算子更通用,也可以处理分数幂.但是,如果这就是为什么它如此慢,为什么它不执行int指数检查然后只是进行乘法?
编辑:这是我试过的一些示例代码...
def pow1(r, n):
for i in range(r):
p = i**n
def pow2(r, n):
for i in range(r):
p = 1
for j in range(n):
p *= i
Run Code Online (Sandbox Code Playgroud)
现在,pow2只是一个简单的例子,显然没有优化!
但即便如此,我发现使用n = 2且r = 1,000,000,则pow1需要~2500ms而pow2需要~1700ms.
我承认,对于大的n值,pow1确实比pow2快得多.但这并不太令人惊讶.
我想知道列出一个数字的所有整数因子的最佳方法,给出它的素因子及其指数的字典.
例如,如果我们有{2:3,3:2,5:1}(2 ^ 3*3 ^ 2*5 = 360)
那么我可以写:
for i in range(4):
for j in range(3):
for k in range(1):
print 2**i * 3**j * 5**k
Run Code Online (Sandbox Code Playgroud)
但在这里,我有3个可怕的循环.是否可以将此抽象为一个函数,给定任何因子分解作为字典对象参数?
我有很多年开发PHP Web应用程序的经验,最近也开始深入研究Python.最近我一直对进入桌面应用程序感兴趣,但在该领域绝对没有经验.我看过很少关于PHP-gtk的文章,并想知道它是否真的是一个很好的领域.
我真正想要的是能够快速开发一些体面的中小型应用程序,并能够在Linux和Windows中部署它们.Python或PHP中的东西会很棒(但如果它有很大的优点,我会很高兴学到别的东西).
你们推荐什么?
谢谢