खोज…


पायथन कोड से .Net असेंबलियों का उपयोग करना

IronPython के साथ आप किसी भी .net असेंबली का उपयोग कर सकते हैं जो कि IronPython कोर की तुलना में समान या निम्न संस्करण का उपयोग करके संकलित किया गया है।

उदाहरण: आयात .net विधानसभा और वर्ग

from System import Math

उदाहरण: आयातित वर्ग का उपयोग करना:

from System import Math
print Math.Abs(-123)

तुम भी अंतर्निहित का उपयोग करके अतिरिक्त विधानसभाओं लोड कर सकते हैं clr मॉड्यूल।

import clr
clr.AddReference('Sample') # Sample.dll inside of the working directory.

बस इसे किसी अन्य .net या अजगर पुस्तकालय के रूप में उपयोग करें।

IronPython को शुद्ध c # में लिखा गया है

IronPython पूरी तरह से प्रबंधित .net (c #) कोड का उपयोग करके लिखा गया है। तो सभी builtin पाइथन विधियों और पुस्तकालयों (जैसे कि next() , int() , आदि) में इनटीन हैं।

यह उदाहरण विभिन्न प्रकारों की सूची के लिए len() के कार्यान्वयन को दिखाता है (केवल कुछ):

....

public static int len([NotNull]List/*!*/ list) {
    return list.__len__();
}

public static int len([NotNull]PythonTuple/*!*/ tuple) {
    return tuple.__len__();
}

public static int len([NotNull]PythonDictionary/*!*/ dict) {
    return dict.__len__();
}

....

यदि हमें लंबाई को गिनने के लिए किसी अन्य प्रकार की आवश्यकता होगी, तो बस उन्हें Builtin.cs जोड़ें। यह स्वचालित रूप से उपलब्ध होगा।

IronPython के भीतर जेनरिक का उपयोग करना

IronPython .net फ्रेमवर्क से जेनेरिक कक्षाओं और विधियों का उपयोग करने में सक्षम बनाता है। इंडेक्स को एक्सेस करने के समान जेनरिक को सिंटैक्स के साथ उपयोग किया जा सकता है। एक से अधिक प्रकार के पैरामीटर पास करने के लिए, उन्हें अल्पविराम से अलग किया जाना चाहिए:

l = Dictionary[int, str]()

इस तरह हम एक शब्दकोश बनाते हैं जहाँ कुंजियाँ केवल integers स्वीकार करती integers और मानों को एक string होना चाहिए।

एक नमूना उपयोग इस तरह दिख सकता है

from System.Collections.Generic import List
lst = List[str]()
lst.Add('Hello')
lst.Add('World')
for l in lst:
    print

उत्पादन

नमस्कार

विश्व

नए आइटम जोड़ते समय, टाइपिंग जाँच भी की जाएगी:

lst = List[str]()
lst.Add(123)

ट्रेसबैक (सबसे हालिया कॉल अंतिम):

फ़ाइल "<stdin>", पंक्ति 1, में

TypeError: अपेक्षित str, int मिला



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow