खोज…


IronPython

.NET # के लिए ओपन-सोर्स कार्यान्वयन और # में लिखित मोनो, अपाचे लाइसेंस 2.0 के तहत लाइसेंस प्राप्त है। यह DLR (डायनेमिक भाषा रनटाइम) पर निर्भर करता है। यह केवल संस्करण 2.7 का समर्थन करता है, संस्करण 3 वर्तमान में विकसित किया जा रहा है।

CPython के साथ मतभेद:

  • .NET फ्रेमवर्क के साथ तंग एकीकरण।
  • डिफ़ॉल्ट रूप से स्ट्रिंग्स यूनिकोड हैं।
  • C में लिखे गए CPython के एक्सटेंशन का समर्थन नहीं करता है
  • ग्लोबल इंटरप्रेटर लॉक से ग्रस्त नहीं है।
  • प्रदर्शन आमतौर पर कम होता है, हालांकि यह परीक्षणों पर निर्भर करता है।

नमस्ते दुनिया

print "Hello World!"

आप .NET फ़ंक्शंस का उपयोग भी कर सकते हैं:

import clr
from System import Console
Console.WriteLine("Hello World!")

बाहरी कड़ियाँ

Jython

जावा में लिखे गए जेवीएम के लिए ओपन-सोर्स कार्यान्वयन, पायथन सॉफ्टवेयर फाउंडेशन लाइसेंस के तहत लाइसेंस प्राप्त है। यह केवल संस्करण 2.7 का समर्थन करता है, संस्करण 3 वर्तमान में विकसित किया जा रहा है।

CPython के साथ मतभेद:

  • जेवीएम के साथ तंग एकीकरण।
  • स्ट्रिंग्स यूनिकोड हैं।
  • C में लिखे गए CPython के एक्सटेंशन का समर्थन नहीं करता है
  • ग्लोबल इंटरप्रेटर लॉक से ग्रस्त नहीं है।
  • प्रदर्शन आमतौर पर कम होता है, हालांकि यह परीक्षणों पर निर्भर करता है।

नमस्ते दुनिया

print "Hello World!"

आप जावा फ़ंक्शंस का भी उपयोग कर सकते हैं:

from java.lang import System
System.out.println("Hello World!")

बाहरी कड़ियाँ

Transcrypt

ट्रांसक्रिप्ट पायथन के काफी व्यापक उपसमुच्चय को कॉम्पैक्ट, पठनीय जावास्क्रिप्ट में शामिल करने का एक उपकरण है। इसकी निम्नलिखित विशेषताएं हैं:

  • CPython के मूल पार्सर द्वारा पार्स किए गए शुद्ध पायथन सिंटैक्स का उपयोग करके कई विरासत के साथ शास्त्रीय OO प्रोग्रामिंग की अनुमति देता है
  • डेस्कटॉप-उन्मुख पायथन लोगों के बजाय उच्च-गुणवत्ता वाले वेब-उन्मुख जावास्क्रिप्ट पुस्तकालयों के ब्रह्मांड के साथ सहज एकीकरण
  • पाइपी के माध्यम से मॉड्यूल वितरण की अनुमति देने वाला पदानुक्रमित URL आधारित मॉड्यूल सिस्टम
  • पायथन स्रोत और सरल डिबगिंग के लिए जावास्क्रिप्ट कोड के बीच सरल संबंध
  • मल्टी-लेवल सोर्समैप और स्रोत संदर्भों के साथ लक्ष्य कोड का वैकल्पिक एनोटेशन
  • कॉम्पैक्ट डाउनलोड, एमबी के बजाय केबी का
  • प्रोटोटाइप लुकअप चेन को वैकल्पिक रूप से बायपास करने के लिए मेमोनाइजेशन (कॉल कैशिंग) का उपयोग करके जावास्क्रिप्ट कोड का अनुकूलन किया
  • पढ़ने योग्य संख्यात्मक गणित की सुविधा के लिए ऑपरेटर ओवरलोडिंग को स्थानीय रूप से चालू और बंद किया जा सकता है

कोड का आकार और गति

अनुभव से पता चला है कि पायथन सोर्सकोड के 650 केबी मोटे तौर पर जावास्क्रिप्ट स्रोत कोड की समान मात्रा में अनुवाद करता है। गति हस्तलिखित जावास्क्रिप्ट की गति से मेल खाती है और कॉल मेमॉइज़िंग को चालू करने पर इसे पार कर सकती है।

HTML के साथ एकीकरण

<script src="__javascript__/hello.js"></script>
<h2>Hello demo</h2>

<p>
<div id = "greet">...</div>
<button onclick="hello.solarSystem.greet ()">Click me repeatedly!</button>

<p>
<div id = "explain">...</div>
<button onclick="hello.solarSystem.explain ()">And click me repeatedly too!</button>

जावास्क्रिप्ट और डोम के साथ एकीकरण

from itertools import chain

class SolarSystem:
    planets = [list (chain (planet, (index + 1,))) for index, planet in enumerate ((
        ('Mercury', 'hot', 2240),
        ('Venus', 'sulphurous', 6052),
        ('Earth', 'fertile', 6378),
        ('Mars', 'reddish', 3397),
        ('Jupiter', 'stormy', 71492),
        ('Saturn', 'ringed', 60268),
        ('Uranus', 'cold', 25559),
        ('Neptune', 'very cold', 24766) 
    ))]
    
    lines = (
        '{} is a {} planet',
        'The radius of {} is {} km',
        '{} is planet nr. {} counting from the sun'
    )
    
    def __init__ (self):
        self.lineIndex = 0
    
    def greet (self):
        self.planet = self.planets [int (Math.random () * len (self.planets))]
        document.getElementById ('greet') .innerHTML = 'Hello {}'.format (self.planet [0])
        self.explain ()
        
    def explain (self):
        document.getElementById ('explain').innerHTML = (
            self.lines [self.lineIndex] .format (self.planet [0], self.planet [self.lineIndex + 1])
        )
        self.lineIndex = (self.lineIndex + 1) % 3
         solarSystem = SolarSystem ()

अन्य जावास्क्रिप्ट पुस्तकालयों के साथ एकीकरण

Transcrypt का उपयोग किसी भी जावास्क्रिप्ट लाइब्रेरी के साथ विशेष उपायों या वाक्य रचना के बिना किया जा सकता है। दस्तावेज़ीकरण में उदाहरण एओ प्रतिक्रिया के लिए दिए जाते हैं। जेएस, दंगा। जेएस, फैब्रिक।जेएस और नोड.जेएस।

पायथन और जावास्क्रिप्ट कोड के बीच संबंध

अजगर

class A:
    def __init__ (self, x):
        self.x = x

    def show (self, label):
        print ('A.show', label, self.x)
    
class B:
    def __init__ (self, y):
        alert ('In B constructor')
        self.y = y
        
    def show (self, label):
        print ('B.show', label, self.y)
        
class C (A, B):
    def __init__ (self, x, y):
        alert ('In C constructor')
        A.__init__ (self, x)
        B.__init__ (self, y)
        self.show ('constructor')
        
    def show (self, label):
        B.show (self, label)
        print ('C.show', label, self.x, self.y)
    
a = A (1001)
a.show ('america')

b = B (2002)
b.show ('russia')

c = C (3003, 4004)
c.show ('netherlands')

show2 = c.show
show2 ('copy')

जावास्क्रिप्ट

var A = __class__ ('A', [object], {
    get __init__ () {return __get__ (this, function (self, x) {
        self.x = x;
    });},
    get show () {return __get__ (this, function (self, label) {
        print ('A.show', label, self.x);
    });}
});
var B = __class__ ('B', [object], {
    get __init__ () {return __get__ (this, function (self, y) {
        alert ('In B constructor');
        self.y = y;
    });},
    get show () {return __get__ (this, function (self, label) {
        print ('B.show', label, self.y);
    });}
});
var C = __class__ ('C', [A, B], {
    get __init__ () {return __get__ (this, function (self, x, y) {
        alert ('In C constructor');
        A.__init__ (self, x);
        B.__init__ (self, y);
        self.show ('constructor');
    });},
    get show () {return __get__ (this, function (self, label) {
        B.show (self, label);
        print ('C.show', label, self.x, self.y);
    });}
});
var a = A (1001);
a.show ('america');
var b = B (2002);
b.show ('russia');
var c = C (3003, 4004);
c.show ('netherlands');
var show2 = c.show;
show2 ('copy');

बाहरी कड़ियाँ



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