×î½üÒòΪÑо¿Ò»¸ö¶«Î÷£¬²¢ÇÒÔںܾÃÒÔÇ°¾ÍÏë°ÑpythonºÃºÃ¿´¿´¡£ÕýºÃÂú×ãÎҵĺÃÆæÐÄ¡£ÎÒÿÌìÉÏ°à×öµÃÓÎÏ·¶¼ÊÇÓÃlua£¬Ò²ÊÇÒ»ÃźÜÇ¿´óµÄ½Å±¾ÓïÑÔ¡£¿ÉÄÜÎÒ¸üϲ»¶pythonµÄËõ½øÇø·ÖºÍÃæÏò¶ÔÏó°É¡£ ½ñÌìֻдһ¸ö¼òµ¥µÄÀý×Ó¡£Ò»¸ö¼òµ¥µÄpython½Å±¾£¬¾ÍÒ»¸öº¯Êý£¬ÓÃC/C++È¥µ÷Ó᣿ÉÄÜÕâÒ²ÊÇ×÷Ϊ³ÌÐòÀ´Ëµ×î¹ØÐĵÄÒ»¼þÊ¡£ËùÒÔÎÒµÄpython±Ê¼ÇÒ²¾Í×îÏÈдÕâ¿é¡£- - ºÃÇÐÈëÕýÌ⣺
#include <Python.h>
#include <stdio.h>
void test( void )
{
PyObject *pMod = NULL;
PyObject *pFun = NULL;
PyObject *pParm = NULL;
PyObject *pRetVal = NULL;
int iRetval = 0;
if ( pMod = PyImport_ImportModule( "add" ) )
{
if ( pFun = PyObject_GetAttrString( pMod, "add" ) )
{
......
×î½üÒòΪÑо¿Ò»¸ö¶«Î÷£¬²¢ÇÒÔںܾÃÒÔÇ°¾ÍÏë°ÑpythonºÃºÃ¿´¿´¡£ÕýºÃÂú×ãÎҵĺÃÆæÐÄ¡£ÎÒÿÌìÉÏ°à×öµÃÓÎÏ·¶¼ÊÇÓÃlua£¬Ò²ÊÇÒ»ÃźÜÇ¿´óµÄ½Å±¾ÓïÑÔ¡£¿ÉÄÜÎÒ¸üϲ»¶pythonµÄËõ½øÇø·ÖºÍÃæÏò¶ÔÏó°É¡£ ½ñÌìֻдһ¸ö¼òµ¥µÄÀý×Ó¡£Ò»¸ö¼òµ¥µÄpython½Å±¾£¬¾ÍÒ»¸öº¯Êý£¬ÓÃC/C++È¥µ÷Ó᣿ÉÄÜÕâÒ²ÊÇ×÷Ϊ³ÌÐòÀ´Ëµ×î¹ØÐĵÄÒ»¼þÊ¡£ËùÒÔÎÒµÄpython±Ê¼ÇÒ²¾Í×îÏÈдÕâ¿é¡£- - ºÃÇÐÈëÕýÌ⣺
#include <Python.h>
#include <stdio.h>
void test( void )
{
PyObject *pMod = NULL;
PyObject *pFun = NULL;
PyObject *pParm = NULL;
PyObject *pRetVal = NULL;
int iRetval = 0;
if ( pMod = PyImport_ImportModule( "add" ) )
{
if ( pFun = PyObject_GetAttrString( pMod, "add" ) )
{
......
×î½üÒòΪÑо¿Ò»¸ö¶«Î÷£¬²¢ÇÒÔںܾÃÒÔÇ°¾ÍÏë°ÑpythonºÃºÃ¿´¿´¡£ÕýºÃÂú×ãÎҵĺÃÆæÐÄ¡£ÎÒÿÌìÉÏ°à×öµÃÓÎÏ·¶¼ÊÇÓÃlua£¬Ò²ÊÇÒ»ÃźÜÇ¿´óµÄ½Å±¾ÓïÑÔ¡£¿ÉÄÜÎÒ¸üϲ»¶pythonµÄËõ½øÇø·ÖºÍÃæÏò¶ÔÏó°É¡£ ½ñÌìֻдһ¸ö¼òµ¥µÄÀý×Ó¡£Ò»¸ö¼òµ¥µÄpython½Å±¾£¬¾ÍÒ»¸öº¯Êý£¬ÓÃC/C++È¥µ÷Ó᣿ÉÄÜÕâÒ²ÊÇ×÷Ϊ³ÌÐòÀ´Ëµ×î¹ØÐĵÄÒ»¼þÊ¡£ËùÒÔÎÒµÄpython±Ê¼ÇÒ²¾Í×îÏÈдÕâ¿é¡£- - ºÃÇÐÈëÕýÌ⣺
#include <Python.h>
#include <stdio.h>
void test( void )
{
PyObject *pMod = NULL;
PyObject *pFun = NULL;
PyObject *pParm = NULL;
PyObject *pRetVal = NULL;
int iRetval = 0;
if ( pMod = PyImport_ImportModule( "add" ) )
{
if ( pFun = PyObject_GetAttrString( pMod, "add" ) )
{
......
ѧϰÁ˵ڰËÕº󣬽ôÂàÃܹĵĿªÊ¼µÚ¾ÅÕµÄѧϰ¡£
ѧϰÁË“Êý¾Ý½á¹¹²Ù×÷”£¬Ñ§Ï°ÁË“Îļþ²Ù×÷”¡£“Êý¾Ý½á¹¹²Ù×÷”»¹±È½ÏÓÐÒâ˼£¬¿´µÃ¶®¡£“Îļþ²Ù×÷”¾Í¿ªÊ¼Í·»è»èµÄ£¬ÏñÄÔ×Ó½øÁ˽¬ºý¡£
ºÃ²»ÈÝÒ׿´µ½“²Ù×÷³ÌÐò”£¬²Å·¢ÏÖ“²Ù×÷³ÌÐò”ÕâÒ»½ÚµÄÄÚÈݲ¢²»ÊÇÎÒËùÏ£Íû¿´µ½µÄÄÚÈÝ¡£
ÎÒÏëÓÃPython×ö°×ºÐ²âÊÔ£¬×Ô¶¯»¯²âÊÔ¡£ÄÇô¾ÍÐèÒªÓÃPythonµ÷Óôý²âÊÔ³ÌÐò¡£Èç¹û²»ÄÜ×öµ½£¬Ñ§Ï°PythonµÄÄ¿µÄ¾Í²»ÄÜ´ïµ½¡£
¶ÁÁË“²Ù×÷³ÌÐò”Ò»½Úºó£¬¶Á²»ÏÂÈ¥ÁË¡£¿ªÊ¼Ñо¿PythonÈçºÎµ÷ÓÃC++¡£
×îºóÔÚSWIGÉÏÕÒµ½Í»ÆÆ¿Ú£¬Ñ§»áÁË×î»ù±¾µÄÓÃSWIG´ò°üC++³ÌÐò£¬È»ºóÓÃPythonµ÷Óõķ½·¨¡£Í¬Ê±Ð´Á˸ö˵Ã÷£¬ÍíЩʱºò»á´«µ½ÍøÂçÉÏÀ´¡£
ѧ»áµÄSWIG»¹Í£ÁôÔÚÑùÀýµÄ´ò°üµ÷ÓÃÉÏ£¬ÕæʵµÄÏîÄ¿Èí¼þ¿ÉÒÔµ÷ÓÃÂð£¿ÓÚÊÇ¿ªÊ¼ÁËÏîÄ¿Èí¼þµÄÑо¿¡£Ãæ¶ÔÅÓ´ó¸´ÔÓµÄÏîÄ¿´úÂ룬ÕæµÄûÓжàÉÙÐÅÐÄ°ÑSWIGÓ¦ÓÃÉÏÈ¥¡£×ö°×ºÐ²âÊÔ£¬Æð²½Ê±Ó¦¸ÃÓÃÏàͬµÄÓïÑÔµ÷ÓÃͬһÖÖÓïÑÔдµÄ´úÂë¡£
ÕýÔÚÕâ¸öʱºò£¬¿´ÁËAPI²âÊÔµÄÎÄÕ¡£ÓÚÊdz¢ÊÔÁËÄں˵ĽӿڲâÊÔ......
½²ÁËÕâô¶à£¬Ô½½²Ô½Æ«ÌâÁË¡£
ÎÒµÄÒâ˼ÊÇ£¬µÚ¾ÅÕµÄѧϰÒò´ËÍ£ÖÍÁËÒ»¶Îʱ¼ä¡£
¶øC++ºÍPythonµÄ½»»¥Ñ§Ï°Ê¹Óà ......
3¡¢Lists Êý¾ÝÀàÐÍ
ÔÚpythonÖУ¬listsÊÇÐòÁÐÈÝÆ÷£¬Ëü¿ÉÒÔÈÝÄÉÈκÎÀàÐ͵ĶÔÏ󡣺Ístrings²»Í¬£¬ListsÖ§³ÖÔµØÐÞ¸Ä(mutalbe in place),ͨ¹ýϱêÒýÓõķ½Ê½£¬¿ÉÒÔÐÞ¸ÄListsµÄÄÚÈÝ£¬ÈçpÊÇLists¶ÔÏó£¬ Ôò¿ÉÒÔͨ¹ýp[1] = '123'ÕâÖֵķ½Ê½¸Ä±äpµÄÄÚÈÝ¡£
ListsÊÇÐòÁÐÈÝÆ÷£¬Ö§³ÖÈκÎÐòÁеIJÙ×÷£¬ÕâµãºÍStringsºÜÏñ¡£ÏÂÃæ¿´¿´¾ßÌå²Ù×÷£º
ListsÀàËÆcÖеÄÊý×é»òÕßc++ÖеÄvector£¬µ«Ëü¸üÇ¿´ó£¬ÔÊÐíÐòÁÐÖÐÓв»Í¬µÄ¶ÔÏóÀàÐÍ£¬±ÈÈçÉÏÀýÖÐ123ÊÇÊý×ÖÀàÐÍ£¬¶ø'mikewolf'ÊÇ×Ö·û´®ÀàÐÍ¡£ÁíÍ⣬Lists»¹¿ÉÒÔËæʱ¸Ä±äÊý×é´óС£¬ÔÚij¸öλÖÃɾ³ýÔªËØ»òÕßÔö¼ÓÔªËØ¡£
ÏÂÃ濴һЩÀý×Ó£º
´ÓÉÏÃæ¿ÉÒÔ¿´µ½£¬ÒòΪListsÖ§³ÖԵظıä²Ù×÷£¬ËùÒÔ¾¹ýÅÅÐò(sort)ÒÔ¼°·×ª(reverse)²Ù×÷£¬ MµÄÄÚÈݸıäÁË¡£
ÁíÍ⣬ListsÒ²Ö§³Ö±ß½ç¼ì²é£¬±ÈÈçLÖ»ÓÐÁ½ÏÎÒÃÇÈç¹ûÕâÑù¸³Öµ L[10]=1, Python½âÊÍÆ÷»á±¨´í¡£
Lists»¹Ö§³ÖÈÎÒâ²ã´ÎµÄǶÌ×£¬±ÈÈçÎÒÃÇ¿ÉÒÔÕâÑù¶¨Òå LʵÏÖ3*3¾ØÕó
L = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
´ËʱL[1] ÊÇ[4, 5, 6], L[2][1] ÊÇ7¡£
ÁíÍ⣬Lists»¹Ö§³ÖÒ»Öָ߼¶²Ù×÷£¬³Æ×÷Áбí½âÊͱí´ïʽ(list compreh ......
http://www.cppblog.com/jacky2019/archive/2007/05/17/24269.html
c++ÖÐǶÈëpythonÈëÃÅ1
±¾ÈËÊÇÓÃvc2003+python2.5ѧϰµÄ£¬ÆäËüµÄÒ²Ó¦¸Ã²î²»Á˶àÉÙ
0. »µ¾³ÉèÖÃ
°ÑpythonµÄinclude/libsĿ¼·Ö±ð¼Óµ½vcµÄinclude/lib directoriesÖÐÈ¥¡£ÁíÍ⣬ÓÉÓÚpythonûÓÐÌṩdebug lib£¬ÌåµØ˵£¬¾ÍÊÇûÓÐÌṩpython25_d.libÁË¡£Äã¿ÉÒÔ×Ô¼º±àÒëpythonµÄÔ´´úÂëÀ´µÃµ½python25_d.libµÄ£¬Å¼»¹Ã»ÊÔ¹ý£¬ºÇºÇ¡£¶øÇÒÍøÉÏÕÒÁËÒ»ÏÂҲûÏÂÔص½¡£ËùÒÔ£¬Èç¹ûÄãÏëÒªÔÚdebugÏÂÔËÐгÌÐòµÄ»°£¬ÄãÒª°Ñpyconfig.h£¨ÔÚpython25/include/Ŀ¼Ï£©µÄ´ó¸ÅÊÇÔÚ283ÐУ¬°Ñpragma comment(lib,"python25_d.lib")¸Ä³Épragma comment(lib,"python25.lib")£¬ÈÃpython¶¼Ê¹Ó÷Çdebug lib.
1. ¿ªÊ¼±à³ÌÁË
#include <python.h>
µÚÒ»²½¾ÍÊÇ°üº¬pythonµÄÍ·Îļþ
2. ¿´Ò»¸öºÜ¼òµ¥µÄÀý×Ó
1)pythonÎļþtest.py£¬ºÜ¼òµ¥µÄ¶¨ÒåÁËÒ»¸öº¯Êý
#Filename test.py
def Hello():
print "Hello, world!"
Õâ¸öÓ¦¸ÃÄÜ¿´¶®µÄ°É£¿·ñÔòµÄ»°£¬»ØÈ¥ÔÙÁ·Á·python°É£¬ºÇºÇ¡£¡¶¼òÃ÷Python½Ì³Ì¡·Swaroop, C. H. Öø¡£Éò½àÔª Òë¡£
2)cppÎļþ
#include <python.h> //°üº¬Í·Îļþ£¬ÔÚc++ÖÐǶÈëpython£¬Õâ ......
http://www.cppblog.com/jacky2019/archive/2007/05/17/24269.html
c++ÖÐǶÈëpythonÈëÃÅ1
±¾ÈËÊÇÓÃvc2003+python2.5ѧϰµÄ£¬ÆäËüµÄÒ²Ó¦¸Ã²î²»Á˶àÉÙ
0. »µ¾³ÉèÖÃ
°ÑpythonµÄinclude/libsĿ¼·Ö±ð¼Óµ½vcµÄinclude/lib directoriesÖÐÈ¥¡£ÁíÍ⣬ÓÉÓÚpythonûÓÐÌṩdebug lib£¬ÌåµØ˵£¬¾ÍÊÇûÓÐÌṩpython25_d.libÁË¡£Äã¿ÉÒÔ×Ô¼º±àÒëpythonµÄÔ´´úÂëÀ´µÃµ½python25_d.libµÄ£¬Å¼»¹Ã»ÊÔ¹ý£¬ºÇºÇ¡£¶øÇÒÍøÉÏÕÒÁËÒ»ÏÂҲûÏÂÔص½¡£ËùÒÔ£¬Èç¹ûÄãÏëÒªÔÚdebugÏÂÔËÐгÌÐòµÄ»°£¬ÄãÒª°Ñpyconfig.h£¨ÔÚpython25/include/Ŀ¼Ï£©µÄ´ó¸ÅÊÇÔÚ283ÐУ¬°Ñpragma comment(lib,"python25_d.lib")¸Ä³Épragma comment(lib,"python25.lib")£¬ÈÃpython¶¼Ê¹Ó÷Çdebug lib.
1. ¿ªÊ¼±à³ÌÁË
#include <python.h>
µÚÒ»²½¾ÍÊÇ°üº¬pythonµÄÍ·Îļþ
2. ¿´Ò»¸öºÜ¼òµ¥µÄÀý×Ó
1)pythonÎļþtest.py£¬ºÜ¼òµ¥µÄ¶¨ÒåÁËÒ»¸öº¯Êý
#Filename test.py
def Hello():
print "Hello, world!"
Õâ¸öÓ¦¸ÃÄÜ¿´¶®µÄ°É£¿·ñÔòµÄ»°£¬»ØÈ¥ÔÙÁ·Á·python°É£¬ºÇºÇ¡£¡¶¼òÃ÷Python½Ì³Ì¡·Swaroop, C. H. Öø¡£Éò½àÔª Òë¡£
2)cppÎļþ
#include <python.h> //°üº¬Í·Îļþ£¬ÔÚc++ÖÐǶÈëpython£¬Õâ ......
http://www.cppblog.com/oosky/archive/2005/10/11/639.html
Lesson 1 ×¼±¸ºÃѧϰPythonµÄ»·¾³
Python µÄ¹Ù·½ÍøÖ·£º
www.python.org
µã»÷ÏÂÃæÁ¬½Ó¾Í¿ÉÒÔÖ±½ÓÏÂÔØÁË£¬ÕâÀïÖ»ÌṩÁËWindowsϵÄPython¡£
http://www.python.org/ftp/python/2.4.2/python-2.4.2.msi
linux°æ±¾µÄÎҾͲ»ËµÁË£¬ÒòΪÈç¹ûÄãÄܹ»Ê¹ÓÃlinux²¢°²×°ºÃ˵Ã÷Äã¿ÉÒÔÒ»ÇÐ×Ô¼º¸ã¶¨µÄ¡£
PythonÈëÃŽ̳Ì˳±ãÒ²ÌùÉÏÀ´£ºhttp://lj0508.blogchina.com/inc/Python.rar
ÔËÐл·¾³¿ÉÒÔÊÇlinux»òÕßÊÇwindows£º
1¡¢linux
redhatµÄlinux°²×°ÉÏÈ¥Ö®ºóÒ»¶¨»áÓÐpythonµÄ£¨±ØÐëµÄ×é¼þ£©£¬ÔÚÃüÁîÐÐÖÐÊäÈëpython»Ø³µ¡£ÕâÑù¾Í¿ÉÒÔ½øÈëÒ»¸ö
>>>µÄÌáʾ·û
2¡¢windows
°²×°ºÃÁËpythonÖ®ºó£¬ÔÚ¿ªÊ¼²Ëµ¥ÀïÃæÕÒµ½Python2.3->IDLE£¬ÔËÐÐÒ²»á½øÈëÒ»¸öÓÐ
>>>Ìáʾ·ûµÄ´°¿Ú
¿ªÊ¼³¢ÊÔPython
1¡¢ÊäÈ룺
welcome = "Hello!"
»Ø³µ
È»ºóÓֻص½ÁË>>>
2¡¢ÊäÈ룺
print welcome
»Ø³µ
È»ºó¾Í¿ÉÒÔ¿´µ½Äã×Ô¼ºÊäÈëµÄÎʺòÁË¡£
Lesson 2 ¸ã¶¨»·¾³Ö®ºóµÄÇ°ÐÐ
PythonÓÐÒ»¸ö½»»¥Ê½µÄÃüÁîÐУ¬´ó¼ÒÒѾ¿´µ½ÁË°É¡£ËùÒÔ¿ÉÒԱȽϷ½±ãµÄѧϰºÍ³¢ÊÔ£¬²»ÓÓн¨£´æµµ£±àÒ룵÷ÊÔ”£¬·Ç³£ÊʺϿìËٵij¢Ê ......
pythonµÄsmtplibÌṩÁËÒ»Öֺܷ½±ãµÄ;¾¶·¢Ë͵ç×ÓÓʼþ¡£Ëü¶ÔsmtpÐÒé½øÐÐÁ˼òµ¥µÄ·â×°¡£
smtpÐÒéµÄ»ù±¾ÃüÁî°üÀ¨£º
HELO Ïò·þÎñÆ÷±êʶÓû§Éí·Ý
MAIL ³õʼ»¯Óʼþ´«Êä mail from:
RCPT ±êʶµ¥¸öµÄÓʼþ½ÓÊÕÈË£»³£ÔÚMAILÃüÁîºóÃæ,¿ÉÓжà¸örcpt to:
DATA ÔÚµ¥¸ö»ò¶à¸öRCPTÃüÁîºó,±íʾËùÓеÄÓʼþ½ÓÊÕÈËÒѱêʶ,²¢³õʼ»¯Êý¾Ý´«Êä,ÒÔ.½áÊø
VRFY ÓÃÓÚÑéÖ¤Ö¸¶¨µÄÓû§/ÓÊÏäÊÇ·ñ´æÔÚ£»ÓÉÓÚ°²È«·½ÃæµÄÔÒò,·þÎñÆ÷³£½ûÖ¹´ËÃüÁî
EXPN ÑéÖ¤¸ø¶¨µÄÓÊÏäÁбíÊÇ·ñ´æÔÚ,À©³äÓÊÏäÁбí,Ò²³£±»½ûÓÃ
HELP ²éѯ·þÎñÆ÷Ö§³ÖʲôÃüÁî
NOOP ÎÞ²Ù×÷,·þÎñÆ÷Ó¦ÏìÓ¦OK
QUIT ½áÊø»á»°
  ......