क्या मुझे scipy.pi, numpy.pi, या math.pi का उपयोग करना चाहिए?


137

SciPy और NumPy का उपयोग कर एक परियोजना में, मैं का उपयोग करना चाहिए scipy.pi, numpy.piया math.pi?


6
नहीं, यह तथ्य कि ये सभी मॉड्यूल मुझे निरंतर प्रदान करते हैं, यह बताता है कि इसका कोई कारण है?
डगलस बी। स्टेपल

3
ऐसा इसलिए है क्योंकि आप हमेशा उन सभी का उपयोग नहीं करते हैं, और आप केवल पाई प्राप्त करने के लिए एक मॉड्यूल स्थापित और आयात नहीं करना चाहेंगे।
लेविसस्की

11
@LevLevitsky मैंने अभी अजगर का उपयोग करना शुरू किया था और मैंने देखा कि गणित के बीच एक अंतर है। तो मुझे नहीं लगा कि यह एक गूंगा सवाल था ...
डगलस बी स्टेपल

जवाबों:


197
>>> import math
>>> import numpy as np
>>> import scipy
>>> math.pi == np.pi == scipy.pi
True

तो यह कोई फर्क नहीं पड़ता, वे सभी एक ही मूल्य हैं।

केवल तीन मॉड्यूल उपलब्ध कराने का एकमात्र कारण piयह है कि यदि आप तीन मॉड्यूलों में से केवल एक का उपयोग कर रहे हैं, तो आप आसानी से किसी अन्य मॉड्यूल को आयात किए बिना पाई तक पहुंच सकते हैं। वे पी के लिए अलग-अलग मूल्य प्रदान नहीं कर रहे हैं।


15
अन्य सभी चीजें समान होने के कारण, मैं math.piबस इसलिए उपयोग करूंगा क्योंकि यह मानक पुस्तकालय में है यदि मॉड्यूल निर्भर नहीं करता है numpyया scipyनहीं - लेकिन जैसा कि आप कहते हैं, आप जिस मॉड्यूल से आयात कर रहे हैं, उसमें pi का उपयोग करें क्योंकि वे हैं सभी समान मूल्य।
mgilson

3
यदि आप पहले से ही खस्ता उपयोग कर रहे हैं np.pi, लेकिन यह सिर्फ piजब यह है के लिए NumPy आयात करने के लिए कोई मतलब नहीं है math
asmeurer

42

ध्यान देने वाली एक बात यह है कि सभी लाइब्रेरी पी के लिए समान अर्थ का उपयोग नहीं करेंगे, निश्चित रूप से, इसलिए यह जानने के लिए कभी भी दर्द नहीं होता है कि आप क्या उपयोग कर रहे हैं। उदाहरण के लिए, प्रतीकात्मक गणित पुस्तकालय सिम्पी का पि का प्रतिनिधित्व गणित और अंक के समान नहीं है:

import math
import numpy
import scipy
import sympy

print(math.pi == numpy.pi)
> True
print(math.pi == scipy.pi)
> True
print(math.pi == sympy.pi)
> False

9
सिम्पी पाई को एक स्थिर / फ्लोट के रूप में संग्रहीत नहीं किया जाता है, यह एक ऐसी वस्तु है जिसमें स्थिर होता है
नायब

22
सिम्पी की प्रतीकात्मक गणित करने के लिए, प्रतीकात्मक रूप से प्रतिनिधित्व किया गया बिल्कुल पाई है। अन्य फ़्लोटिंग पॉइंट गणित करने के लिए फ़्लोटिंग पॉइंट सन्निकटन हैं।
एंडोलिथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.