Hallo zusammen,
ich bin neu hier, und da ich mich in nächster Zeit mit Python befassen möchte ist dieses Forum wohl am besten für meine Frage geeignet.
Meine Frage ist, ob es, ähnlich wie in Java, die Möglichkeit gibt Python in HTML einzubinden.
Ich hab die Suchfunktion benutz, aber nicht gefunden was meine Frage beantworten würde. (Zugegeben, ich bin ein blutiger Anfänger, daher hab ich die Antwort möglicherweise nur nicht erkannt).
MfG
Juribaro
Python in HTML
Meinst du wie Javascript, Clientseitig? Da gibts ein paar Ansätze, musst du selber suchen. Aber du hast ja gesagt "wie java"... Also meinst du wohl eingebettetes Python in eine Template Engine. Da gibt es die berühmtesten Vertreter mit Genshi, Cheetah und Jinja. [wiki]Template-Engines[/wiki] zeigt dir, wie sie aufgebaut sind...
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Nein, es gibt keine Pythonapplets (jedenfalls nicht weit verbreitet) - sowas kannst du allerdings mit Moonlight machen.
Moonlight ist (noch) nicht kompatibel mit Silverlight 2 und erst das erlaubt es, andere .NET-Sprachen (also IronPython) einzubinden. Daher muss man entweder Silverlight 2 selbst nehmen (und auf Linux-Support verzichten) oder aber man nimmt Java und benutzt dann Jython, ein in Java implementiertes Python 2.2 (2.5-Version in Dauerbeta). Beides aber nicht großartig, weil da megabyteweise erst mal Python-Interpreter zusätzlich zur Java bzw. Silverlight Runtime geladen werden muss.
Wer's sich selbst bauen will, dem empfehle ich meine eigene recht kompakten Python 1.4-Implementation in Java (der leider alle Standardmodule fehlen und die auch keine Schnittstelle zu Java hat) oder ich bringe noch mal die Idee ins Spiel, dass man einen Python-Interpreter für ActionScript und damit für Flash braucht ;)
Stefan
Wer's sich selbst bauen will, dem empfehle ich meine eigene recht kompakten Python 1.4-Implementation in Java (der leider alle Standardmodule fehlen und die auch keine Schnittstelle zu Java hat) oder ich bringe noch mal die Idee ins Spiel, dass man einen Python-Interpreter für ActionScript und damit für Flash braucht ;)
Stefan
Dafür wäre Alchemy wesentlich nützlichersma hat geschrieben:Wer's sich selbst bauen will, dem empfehle ich meine eigene recht kompakten Python 1.4-Implementation in Java (der leider alle Standardmodule fehlen und die auch keine Schnittstelle zu Java hat) oder ich bringe noch mal die Idee ins Spiel, dass man einen Python-Interpreter für ActionScript und damit für Flash braucht
Würde mich interessieren. Mir ist noch nichts untergekommen.Leonidas hat geschrieben:Vielleicht hat ja schon jemand etwas ähnliches zu Ruby2JS/Red für Python gemacht?
Zu Alchemy habe ich nur http://code.google.com/p/lua-alchemy/ gefunden, auch wenn ich mir einbilde, ein Video gesehen zu haben, wo ein Python-Beispiel gezeigt wurde. Ich vermute daher, es ist nicht so einfach, ein doch so komplexes Programm wie einen Ruby- oder Python-Interpreter zu portieren.
Stefan
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Habe jetzt grade PEJS gefunden. Das ist vom Ansatz her ähnlich zu dem was HotRuby macht.sma hat geschrieben:Würde mich interessieren. Mir ist noch nichts untergekommen.Leonidas hat geschrieben:Vielleicht hat ja schon jemand etwas ähnliches zu Ruby2JS/Red für Python gemacht?
Mir ging es ja eher um ActionScript (bzw. ABC) für Flash denn um JavaScript. Für JavaScript und V8 hatte ich mir einen Prototypen gebaut, der zu Python äquivalentes JavaScript laufen lässt und war von der Performance enttäuscht.
Abgesehen davon, dass ich in JS kein "int" habe, sondern nur Fließkommazahlen, wird ein einfaches "3+4" zu "op_add(3, 4)" mit
und das killt wie gesagt die Performance komplett. Von Attribut-Zugriffen will ich gar nicht erst anfangen - das ist dank Properties ähnlich komplex.
PYJS ist interessant, aber je nachdem, wie ihr Subset aussieht, ist es sehr einfach oder sehr herausfordernd. Lässt man z.B. yield, try/except und das Überladen von Operatoren weg, ist es trivial. Während try/except noch auf die Exceptions von JavaScript abgebildet werden könnte, macht yield echte Probleme und die __xxx___-Methoden fressen die gesamte Performance.
Das Projekt implementiert IMHO kein Python, sondern ein JavaScript mit Python-Syntax.
Stefan
Abgesehen davon, dass ich in JS kein "int" habe, sondern nur Fließkommazahlen, wird ein einfaches "3+4" zu "op_add(3, 4)" mit
Code: Alles auswählen
function op_add(a, b) {
var ab = a.__coerce__(b);
if (ab != null) {
a = ab[0];
b = ab[1];
} else {
var ba = b.__coerce__(a);
if (ba != null) {
b = ba[0];
a = ba[1];
}
}
if (!((isBuiltin(type(a)) || isNewStyle(type(a))) &&
isSubtype(type(b), type(a)) &&
type(b).__dict__.has_key("__radd__")) {
var r = b.__radd__(a);
if (r !== NotImplemented) {
return r;
}
var r = a.__add__(b);
if (r !== NotImplemented) {
return r;
}
} else {
var r = a.__add__(b);
if (r !== NotImplemented) {
return r;
}
var r = b.__radd__(a);
if (r !== NotImplemented) {
return r;
}
}
throw new TypeError
}
Number.prototype.__add__ = function(other) {
if (type(other) == Number) {
return this + other;
}
return NotImplemented;
}
PYJS ist interessant, aber je nachdem, wie ihr Subset aussieht, ist es sehr einfach oder sehr herausfordernd. Lässt man z.B. yield, try/except und das Überladen von Operatoren weg, ist es trivial. Während try/except noch auf die Exceptions von JavaScript abgebildet werden könnte, macht yield echte Probleme und die __xxx___-Methoden fressen die gesamte Performance.
Das Projekt implementiert IMHO kein Python, sondern ein JavaScript mit Python-Syntax.
Stefan