python

Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend.
1
Antwort

django error: Das Objekt 'unicode' kann nicht aufgerufen werden

Ich versuche, das Django-Tutorial von der Django-Website zu machen, und habe ein kleines Problem: ive hat meine __unicode__ -Methoden zu meinen Model-Klassen hinzugefügt, aber immer wenn ich versuche, die Objekte zurückzugeben Modell Ich beko...
05.10.2010, 18:28
9
Antworten

___ answer3780476 ___

Die Python-Dokumentation enthält eine Seite zum Einbetten von Python in eine C- oder C ++ - Anwendung.

    
___ answer3780571 ___

Warum nicht Boost.Python? Sie können Ihre Datenklassen Python aussetzen und ein Skript / eine Funktion ausführen, wie in hier .

    
___ answer3780440 ___

Wie wäre es mit einer JavaScript-Engine wie V8 ?

?     
___ answer3780626 ___

Vergessen Sie nicht den Grand-Daddy der eingebetteten Skriptsprache - tcl.

tcl hat einen netten C ++ - Wrapper (der auf boost.python basiert), der es einfach macht, Callbacks zu Ihrem Code aufzurufen und zu verkabeln

    
___ answer3780670 ___

Lua funktioniert auch ziemlich gut, vor allem, weil es klein ist, ansi c-konform ist, einen niedrigen Speicher-Footprint zusammen mit einer tollen Wiki- und Messaging-Liste hat. Wenn Sie noch mehr Geschwindigkeit benötigen, gibt es eine x86 32 und 64 bit jit Version (luajit). Das Binden kann mit einem Array von Werkzeugen / Bibliotheken wie swig oder lunar erfolgen (das Wiki listet sie alle auf). Das einzige Problem, das ich sehen kann, ist das Binden der Struktur-Mitglieder, so dass sie direkt referenziert werden können (zB: struct.member = 4), obwohl es möglich ist, dies mit Metatabellen einzurichten, die get- und set-Methoden an Variablennamen gebunden haben >     

___ answer3781157 ___

Für etwas so einfaches wie Sie beschreiben, könnten Sie einen Interpreter für Ihre eigene "kleine Sprache" implementieren. Man könnte es sogar "Robin" nennen. ; -)

    
___ answer3780753 ___

Sie sagen, dass Sie nicht nach etwas suchen, um Ihre C ++ Funktionen / Klassen in eine Python-Schnittstelle zu packen, aber wenn Sie wollen, dass Python-Code auf Mitglieder Ihrer C ++ %code% -Struktur verweisen kann, umschließt C ++ - Klassen in einer Python-Schnittstelle. Natürlich können Sie beliebig viele oder beliebig viele Klassen umbrechen - in diesem Beispiel würden Sie %code% umbrechen, dann würden Sie bette einen Python-Interpreter ein um Sachen mit %code% zu machen.

    
___ answer3780470 ___

Wenn Sie einfach Python-Skripte von C / C ++ ausführen möchten, verwenden Sie die Python-C-API . In Ihrem C / C ++ Code:

%Vor%

Für kompliziertere Dinge müssen Sie sich die API-Dokumentation ansehen, aber es ist ziemlich einfach.

    
___ tag123c ___ C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entworfen und behält eine ähnliche Syntax, ist aber jetzt eine komplett andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. ___ answer3781199 ___

Ich rate mit Lua als interne Scripting-Engine. Implementierung ist nur ein paar Zeilen, und obwohl leicht, hat die Sprache genügend Kraft. Also keine Notwendigkeit für TCL. Sie können sich auch Python ansehen, die Integration in C ++ ist ziemlich einfach, da es ein Boost.Python Implementierung erleichtert die Integration.

Aber je nach Anwendung würde ich Lua immer noch empfehlen.

    
___ tag123embedding ___ Eine Einbettung ist eine Instanz einer Struktur, die in einer anderen Instanz enthalten ist, z. B. eine Gruppe, die eine Untergruppe ist. ___ tag123scripting ___ Scripting ist eine Form der Programmierung, die im Allgemeinen durch geringe Formalität, lose Typisierung und keine explizite Kompilierung gekennzeichnet ist. Es gibt zahlreiche Skriptsprachen, die in einer Vielzahl von Szenarien verwendet werden - Befehlszeilenanwendungen, GUIs, serverseitige Anwendungen, Erweiterungsmodule. ___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ qstntxt ___

Ich bin wirklich neu in C ++ und bin auf ein Problem gestoßen, das ich durch das Lesen von Dokumentationen nicht lösen konnte.

Ich möchte eine Skriptsprache in meine C ++ - Anwendung einbetten. Diese Sprache könnte Javascript, Lua oder vorzugsweise Python sein.

Ich bin nicht auf der Suche nach etwas wie Boost.Python / swig, etwas, das in der Lage ist, meine C ++ - Funktionen / -Klassen in eine Python-Schnittstelle einzubinden, sondern eher eine %code% -Funktion.

Ich habe eine ganze Reihe von Strukturen, die ein paar ganze Zahlen enthalten:

%Vor%

Nun möchte ich etwas Mathematik mit diesen ganzen Zahlen machen, zum Beispiel:

%Vor%

Die Mathematik, die ich machen möchte, wird sich in der Zukunft stark verändern und ich brauche andere Leute, die anders als ich in der Lage sind, die Mathematik zu ändern, ohne Zugriff auf den C ++ - Code zu haben.

Ich denke über eine Code-Struktur wie folgt nach:

  1. Ich initialisiere meine Struktur und fülle sie mit den Startwerten
  2. Ich lade eine externe Python-Funktion, sagen wir "my_python_function", die die Struktur als Argument annimmt und damit vor der Rückgabe rechnet.
  3. Ich bekomme meine Struktur wie %code%

Ist so etwas möglich? Ich habe viel gegoogelt, aber das einzige, was ich zu finden scheint, sind Wrapper, die c ++ - & gt; Python (oder andersherum) Funktionalität, ohne wirklich mit Variablen zu interagieren.

Ich wäre wirklich dankbar für jede Hilfe,
Robin.

    
___

Ich bin wirklich neu in C ++ und bin auf ein Problem gestoßen, das ich durch das Lesen von Dokumentationen nicht lösen konnte. Ich möchte eine Skriptsprache in meine C ++ - Anwendung einbetten. Diese Sprache könnte Javascript, Lua oder vorzug...
23.09.2010, 16:17
4
Antworten

Numpy / Python, das furchtbar gegen Matlab vorgeht

Anfänger Programmierer hier. Ich schreibe ein Programm, das die relative räumliche Lage von Punkten (Zellen) analysiert. Das Programm erhält Grenzen und Zelltypen von einem Array mit der x-Koordinate in Spalte 1, der y-Koordinate in Spalte 2 und...
28.09.2010, 17:19
5
Antworten

Paket-Sniffing in Python (Windows)

Was ist der beste Weg, Netzwerkpakete mit Python zu schnüffeln? Ich habe von mehreren Stellen gehört, dass das beste Modul dafür ein Modul ist, das Scapy genannt wird, leider bringt es python.exe zum Absturz auf meinem System. Ich würde anneh...
20.01.2009, 18:18
7
Antworten

Kann ich mit einem Decorator den lokalen Bereich einer Funktion in Python verändern?

Gibt es eine Möglichkeit, einen Dekorateur so zu schreiben, dass das Folgende funktioniert? %Vor% EDIT: von Anwser verschoben Als Antwort auf hops "warum?": Syntax Zucker / DRY. Es geht nicht um Caching, es geht darum, z (und z1, z2,...
26.02.2009, 16:03
10
Antworten

schnellste Möglichkeit, Strings in Python zu vergleichen

Ich schreibe in Python ein Skript, mit dem der Benutzer eine Zeichenfolge eingeben kann. Dies ist ein Befehl, der das Skript anweist, eine bestimmte Aktion auszuführen. Um zu argumentieren, sage ich meine Befehlsliste ist: %Vor% Nun möchte i...
13.01.2010, 02:11
7
Antworten

Pythonische Methode zum Schreiben einer for-Schleife, die den Schleifenindex nicht verwendet

Dies ist mit dem folgenden Code zu tun, der eine for-Schleife verwendet, um eine Reihe von zufälligen Offsets für die Verwendung an anderer Stelle im Programm zu generieren. Der Index dieser for-Schleife wird nicht verwendet, und dies führt d...
13.12.2009, 05:11
3
Antworten

Python wissenschaftliche Notation mit D anstelle von E

Einige Ergebnisdateien, die von Fortran-Programmen erstellt werden, melden Zahlen mit doppelter Genauigkeit (in wissenschaftlicher Notation), indem sie den Buchstaben D anstelle von E verwenden, zum Beispiel: %Vor% Ich muss große Menge...
24.12.2009, 17:52
1
Antwort

Intellij IDEA zeigt Django nicht in der Facettenliste an

Ich verwende Fedora 20 mit OpenJDK-1.7.0.60 Setup. Ich kann Intellij IDEA 13.1 erfolgreich einrichten und ausführen und dann das Python-Plugin einrichten. Nun, als ich versuchte, ein Projekt von Intellij mit Python-Modul zu erzeugen, konnte ich...
26.06.2014, 19:05
3
Antworten

Warum liefert das Verketten eines booleschen Werts eine Ganzzahl?

In Python können Sie boolesche Werte verketten und eine ganze Zahl zurückgeben. Beispiel: %Vor% Warum? Warum macht das Sinn? Ich verstehe, dass True oft als 1 dargestellt wird, während False als 0 dargestellt wird, aber das er...
09.03.2010, 05:55