易截截图软件、单文件、免安装、纯绿色、仅160KB

Python嵌入C++详解(3)

继前篇《Import Module》(http://blog.csdn.net/xiadasong007/archive/2009/09/02/4512797.aspx),继续分析嵌入部分基础知识。这次不多说,有什么问题记得多查英文资料,国内的这方面知识少
还是来看代码,写完我就睡觉了~
 
#include "python/python.h"
#include <iostream>
using namespace std;
int main(int argc,char** argv)
{
 PyObject *pModule, *pClass,*pStuObj,*pFunc;
 Py_Initialize();
 ////////////////
 //载入模块stu.py
 pModule = PyImport_ImportModule ("stu");
 //从模块中得到类Student
 pClass = PyObject_GetAttrString (pModule, "Student");
 //生成一个学生对象jack,注意3.1版本必须加上小括号:(s),否则会出错
 //PyObject_CallObject和另外一个常用的PyEval_CallObject用法极为相近,请看附录部分详解
 PyObject * temp=Py_BuildValue("(s)","jack");
 pStuObj = PyObject_CallObject(pClass, temp);
    //获得函数对象jack中的成员函数printName,
    //这个getattr的意思就是得到当前对象的属性(不要局限于C++中的属性哦)
  pFunc= PyObject_GetAttrString (pStuObj, "printName");
 //调用函数printName
  PyEval_CallObject (pFunc, NULL); 
 ////////////////
 Py_Finalize();
 return 0;
}
/*
附录:
1:Student类,我发现print后面现在必须加上小括号了,否则会有问题
class Student:
    name=""
    def __init__(self,name):
        self.name=name
    def printName(self):
        print (self.name)
2:PyObject_CallObject和 PyEval_CallObject不同之处:
可以看出,后者较为直接,而且接受NULL,and does explicit type checks
for args and kwds.
PyObject_CallObject(PyObject *o, PyObject *a)
{
!  PyObject *r;
!  PyObject *args = a;
!
!  if (args == NULL) {
!   args = PyTuple_New(0);
!   if (args == NULL)
!    return NULL;
!  }
!
!  r = PyEval_CallObject(o, args);
!


相关文档:

mysql connect by c++

#include <stdio.h>
#include <windows.h>
#include <mysql.h>
#define host "localhost"
#define username "root"
#define password "123"
#define database "oa"
MYSQL *conn;
int main()
{
MYSQL_RES *res_set;
MYSQL_ROW row;
unsigned int i,ret;
FILE *fp;
MYSQL_FIELD *field; ......

Python库详解之网络(2)

昨天试了下用HTMLParser类来解析网页,可发现结果并不理想。不管怎么说,先写下过程,希望后来人能在此基础上解决我所遇到的问题。
写了2套解决方案,当然这2套只能对特定网站有效。我这里主要说明下对BBC主页www.bbc.co.uk和对网易www.163.com的解析。
对于BBC:
这套要简单得多,可能是该网页的编码比较标准吧
import ......

学习《Python语言入门》第四章 函数


怎么找不到第三章的学习笔记了?丢了?
Python的函数没有什么的,可以说,看了《简明Python教程》后,就会写了。
这一章提供的内容也比《简明Python教程》要多一些。比较复杂的是作用域规则,不知道是书没讲清楚还是翻译得不好,比较难懂。钱能的《C++程序教程》关于函数的作用域规则讲得要清楚些,有C++的知识在里面, ......

(转) python应用领域介绍

#---------------------转转转转转转转转转转转转转转转转转转转转转转转-------------------------------------------#
Python作为一种功能强大且通用的编程语言而广受好评,它具有非常清晰的语法特点,适用于多种操作系统,目前在国际上非常流行,正在得到越来越多的应用。
 
  下面就让我们一起来看看它的强大 ......

python中获得某月有多少天的函数

  偶然需要用到这样一个函数,在Delphi中,有现成的函数可以调用!在python中,我找了半天都还没找到,最后自己写了一个函数如下:
def dayOfMonth(date):
if date.month == 12:
return 31
else:
return (date.replace(month=date.month+1, day=1) - datetime.timedelta(days=1)).day
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号