2011-03-21 22 views
7

साइथन द्वारा उत्पादित कोड हमेशा पाइथन कोड के रूप में सही के रूप में सही है?साइथन शुद्धता

यह अन्य पाठकों को साइथन स्थिर प्रकार की घोषणाओं और अन्य साइथन सुविधाओं (यदि कोई हो) के उपयोग को संबोधित करने में मदद कर सकता है, हालांकि मुझे केवल पायथन मॉड्यूल को * .pyx में नामित करके साइथन फ़ाइलों को बनाने के मामले में रुचि है।

मुझे केवल साइथन द्वारा कवर किए गए पायथन के सबसेट की परवाह है।

उत्तर

10

आम तौर पर, हाँ। बेशक bugs (कई समर्थित पाइथन सबसेट का विस्तार करने के आसपास घूमते हैं, हालांकि, जो वास्तव में जेनरेट किए गए सी कोड गलत होते हैं, वे अपेक्षाकृत दुर्लभ होते हैं), और कुछ आवश्यक caveats हैं (हालांकि ऐसा लगता है कि उस छोटी सूची में केवल एक आइटम अलग हो जाता है पायथन अर्थशास्त्र)।

जब आप शुद्ध पायथन मोड में स्थिर प्रकार जोड़ते हैं, तो ऐसी परिस्थितियां होती हैं जहां यह एक अंतर बनाता है चाहे वह साइथन के रूप में संकलित हो या पाइथन कोड के रूप में चलाया जाए। अहस्ताक्षरित पूर्णांकों मन के लिए आते हैं (उदाहरण: जैसा कि ऊपर एक कड़ी में उल्लेख किया है, -n लपेट जाएगा अगर n अहस्ताक्षरित है और range(-n, n) इसलिए खाली है), और साथ ही पूर्णांक अतिप्रवाह (अजगर (long रों को int रों (सी long रों) को बढ़ावा देता है abritary -प्रिजन पूर्णांक))।

+0

आपके उत्तर के लिए धन्यवाद। एक विशेषज्ञ से सुनने के लिए यह सबसे आश्वस्त होगा; क्या आप साइथन परियोजना पर काम करते हैं? बीटीडब्ल्यू, मैं साइथन परियोजना का आनंद लेता हूं; यह मेरे लिए कार्यक्षमता प्रदान करता है कि मुझे कोई अन्य उपकरण नहीं मिला है। – Brian

+1

@ ब्रायन: नहीं, मैं कहीं भी साइथन में शामिल होने के लिए काफी भयानक नहीं हूं;) मैं सिर्फ एक और उपयोगकर्ता और दस्तावेज़ीकरण का छात्र हूं। यदि आप देवताओं से पूछना चाहते हैं, तो उनमें से कम से कम उनमें से कुछ ['साइथन-उपयोगकर्ता की मेलिंग सूची] (http://groups.google.com/group/cython-users) में भाग लेते हैं। – delnan

+0

मैं एक साइथन देव हूं, और कह सकता हूं कि पायथन से किसी भी प्रतिगमन को गंभीर बग माना जाएगा, हालांकि चेतावनी से जुड़ी चेतावनी (सबसे विशेष रूप से स्पष्ट रूप से सी टाइप किए गए पूर्णांक का उपयोग करके) को ध्यान में रखा जाना चाहिए। – robertwb

संबंधित मुद्दे