Heim  >  Artikel  >  Backend-Entwicklung  >  Black Horse Cloud Classroom 8 Tage umfassendes Verständnis von Python-Videomaterialien

Black Horse Cloud Classroom 8 Tage umfassendes Verständnis von Python-Videomaterialien

巴扎黑
巴扎黑Original
2017-08-25 14:53:192221Durchsuche

Python ist eine objektorientierte, interpretierte Computerprogrammiersprache, die 1989 von Guido van Rossum erfunden wurde. Die erste öffentliche Veröffentlichung wurde 1991 veröffentlicht. Python ist reine freie Software. Der Quellcode und der Interpreter CPython folgen der GPL-Vereinbarung (GNU General Public License). Die Python-Syntax ist prägnant und klar, und eines ihrer Merkmale ist die obligatorische Verwendung von Leerzeichen als Anweisungseinrückung. Python verfügt über umfangreiche und leistungsstarke Bibliotheken. Sie wird oft als Klebesprache bezeichnet, die verschiedene Module, die in anderen Sprachen (insbesondere C/C++) erstellt wurden, problemlos miteinander verbinden kann. „Black Horse Cloud Classroom 8-Tage-Video-Tutorial zum ausführlichen Verständnis von Python“ vermittelt Ihnen ein tiefgreifendes Verständnis der Python-Sprache.

Black Horse Cloud Classroom 8 Tage umfassendes Verständnis von Python-Videomaterialien

Adresse für die Videowiedergabe: http://www.php.cn/course/556.html

Schwierigkeiten dieses Videos Es liegt im Aufruf von C/C++:

1. Python ruft die C-Dynamic-Link-Bibliothek auf


Python ruft die C-Bibliothek auf und ist relativ einfach gepackt in Also, verwenden Sie einfach den ctypes-Aufruf von Python.
(1) C-Sprachdatei: pycall.c

/***gcc -o libpycall.so -shared -fPIC pycall.c*/ #include #include a, int b)
{
printf("Sie geben %d und %dn ein", a, b) return a+b>}


(2) Gcc kompiliert und generiert die dynamische Bibliothek libpycall.so: gcc -o libpycall.so -shared -fPIC pycall.c. Wenn Sie g++ zum Kompilieren von Funktionen oder Methoden im Code verwenden, der dynamische C-Bibliotheken generiert, müssen Sie zum Kompilieren externes „C“ verwenden.

(3) Python ruft die dynamische Bibliotheksdatei auf: pycall.py

import ctypes

ll = ctypes.cdll.LoadLibrary

lib = ll("./libpycall.so")
lib.foo(1, 3)
print '***finish***'


(4) Ergebnisse ausführen:

2. Python ruft C++( Klasse) Dynamic Link Library

benötigt externes „C“ zur Unterstützung, was bedeutet, dass sie immer noch nur C-Funktionen und keine Methoden direkt aufrufen kann, aber C++-Methoden analysieren kann. Anstatt externes „C“ zu verwenden, verfügt die erstellte Dynamic Link Library nicht über Symboltabellen für diese Funktionen.

(1) C++-Klassendatei: pycallclass.cpp


#include
using namespace std; public:

void display();

void display(int a);
void TestLib::display() {
cout}

void TestLib::display(int a) {
coutextern "C" {
TestLib obj; {
obj.display(); > } }
}


(2) g++ kompiliert und generiert die dynamische Bibliothek libpycall.so: g++ -o libpycallclass.so -shared -fPIC pycallclass.cpp.

(3) Python ruft die Datei der dynamischen Bibliothek auf: pycallclass.py


import ctypes
so = ctypes.cdll.LoadLibrary
lib = so(" ./ libpycallclass.so")
print 'display()' lib.display()
print 'display(100)' lib.display_int(100)


Der Lehrer unterrichtet in Eine entspannte und humorvolle Art, und die Schüler lernen stressfrei. Von einfach bis tief, von tief bis einfach, entspannt und fröhlich ist das Gesamtbild dieses Lehrers.

Das obige ist der detaillierte Inhalt vonBlack Horse Cloud Classroom 8 Tage umfassendes Verständnis von Python-Videomaterialien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn