我在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) 我安装了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) 你能告诉我为什么这段代码:
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个变量.或者有没有更好的方法,我没有看到可以在这样的情况下使用?谢谢你的回答!