این ماژول یک ماژول کوچک و بسیار کاربردی برای محاسبات دقیق اعشاری در پایتون می باشد که دارای مجموعه ی گسترده ای از توابع است.
همانطور که احتمالا مشاهده کرده اید در برخی از محاسبات اعشاری در پایتون۳ با مشکل اعشارهای بسیار کوچک بر میخوریم(که این مشکل مربوط به ساختار داخلی پایتون۳ می باشد) و رها شدن از این وضعیت خود مستلزم استفاده از نوع داده ی دیگری است که این مسئله را می توان با ماژول
(MPMath - multiprecision math)
بر طرف نمود.
این ماژول قابلیت اتصال و بهره مندی از توابع ماژول NumPy را نیز دارد.
- نمونه اشکال :
>>> 0.1 + 0.2 0.30000000000000004
>>> sum([.1] * 10) 0.9999999999999999
>>> exp(1e-5) - 1 # gives result accurate to 11 places 1.0000050000069649e-05
این ماژول بر روی سرورهای گوگل کد قرار داشته و لینک مربوط به آن برای IPهای کشور ایران قابل دسترس نیست.
حجم: 659 کیلوبایت
توضیحات: نسخه قابل کامپایل برای تمام ورژن های پایتون ۳۲ بیتی در ویندوز
- نمونه کدهای این ماژول
from mpmath import *mp.dps = 5; mp.pretty = True #mpmath Optionsa = mpf(.1+.2)print(a)print("\nafter use mpf all related calcs is mp:")print(a + .4)
- خروجی
>>> 0.3 after use mpf all related calcs is mp: 0.7
دقت داشته اشید که در این روش محاسبات با نمایش مخصوص mpmath انجام خواهند شد و ساختمان داده های جدید استفاده می شوند.
>>> mp.pretty = False
>>> a + .4
mpf('0.69999981')
>>> from math import * >>> mp.pretty = True >>> a + sin(pi)
0.3
همچنین از این ماژول می توان برای داده های مختلط نیز استفاده کرد.
>>> mp.pretty = False
>>> mpc(.1 + .3j)
mpc(real='0.10000002', imag='0.30000019')
>>> mp.pretty = True >>> mpc(.1 + .3j) (0.1 + 0.3j)
>>> mpc(.1 + .3j) + .3 - .2j
(0.4 + 0.1j)
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.