小编met*_*ddy的帖子

abs()vs fabs()速度差异和fabs的优势()

我在abs()和fabs()函数上运行了一些简单的测试,我不明白使用fabs()的优点是什么,如果是:

1)慢一点

2)仅适用于花车

3)如果在不同类型上使用,将抛出异常

In [1]: %timeit abs(5)
10000000 loops, best of 3: 86.5 ns per loop

In [3]: %timeit fabs(5)
10000000 loops, best of 3: 115 ns per loop

In [4]: %timeit abs(-5)
10000000 loops, best of 3: 88.3 ns per loop

In [5]: %timeit fabs(-5)
10000000 loops, best of 3: 114 ns per loop

In [6]: %timeit abs(5.0)
10000000 loops, best of 3: 92.5 ns per loop

In [7]: %timeit fabs(5.0)
10000000 loops, best of 3: 93.2 ns …
Run Code Online (Sandbox Code Playgroud)

python function absolute-value

20
推荐指数
1
解决办法
7535
查看次数

python 3.4 pycharm调试器中的AssertionError

我安装了Pycharm 3.1(最新版本),它应该支持python 3.4,但是,今天早上它在我运行调试器时开始抛出异常.有什么办法可以解决这个断言错误吗?

    C:\Python34\python.exe "C:\Program Files (x86)\JetBrains\PyCharm 3.1\helpers\pydev\pydevd.py" --multiproc --client 127.0.0.1 --port xx --file C:/Users/xx/PycharmProjects/drop/my_file.py
Connected to pydev debugger (build 133.881)
pydev debugger: process 8492 is connecting

None
Exception in thread pydevd.CheckAliveThread:
Traceback (most recent call last):
  File "C:\Python34\lib\threading.py", line 921, in _bootstrap_inner
    self.run()
  File "C:\Program Files (x86)\JetBrains\PyCharm 3.1\helpers\pydev\pydevd_comm.py", line 252, in run
    self.OnRun()
  File "C:\Program Files (x86)\JetBrains\PyCharm 3.1\helpers\pydev\pydevd.py", line 187, in OnRun
    self.stop()
  File "C:\Program Files (x86)\JetBrains\PyCharm 3.1\helpers\pydev\pydevd_comm.py", line 262, in stop
    _Thread_stop(self)
  File "C:\Python34\lib\threading.py", line 990, in _stop …
Run Code Online (Sandbox Code Playgroud)

python debugging assert pycharm python-3.x

6
推荐指数
1
解决办法
3196
查看次数

多个if条件

你能告诉我为什么这段代码:

if (x and y) and z > 0:
    return True
Run Code Online (Sandbox Code Playgroud)

是不一样的:

if (x and y) > 0 < z:
    return True
Run Code Online (Sandbox Code Playgroud)

基本上,为什么我不能链接几个变量,如:

if var1 and var2 and var3 and var4 > 0:
    do_this
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

--edit-- 我想我只想知道如何在不写作的情况下缩短条件:

if var1 > 0 and var2 > 0 and var3 > 0
Run Code Online (Sandbox Code Playgroud)

特别是如果条件很长,如:

if var1 > (pow(x, 3) / 2.5*pow(y,0.5)+x*y)
Run Code Online (Sandbox Code Playgroud)

如果重写每个变量的条件是不可行的,想象一下我是否有10个变量.或者有没有更好的方法,我没有看到可以在这样的情况下使用?谢谢你的回答!

python if-statement

0
推荐指数
1
解决办法
99
查看次数