python高阶学习之一:c++调用python

2 篇文章 0 订阅
1 篇文章 0 订阅

python高阶学习之一:c++调用python

     python已经成为当今人工智能和数据分析的主流语言,掌握python就好像拿到了进入AI分析殿堂的门票一样,无论如何任何事情都要从一点一滴做起,不要在浮沙上筑高台。找了基本书,看了几个专业网站的资料。无外乎基本语法、变量、流程、函数的老套路,虽然python和其他的语言,有些地方不一样,但是都脱离不了介绍一种编程语言的套路。作为编程多年的一名程序员,对于这种老的套路已经不再感冒,因为经常用c/c++编程,对c/c++的偏爱是java和.net程序员所不能理解的,还是对c/c++情由独中。但不要因为有了鱼,就不去尝试熊掌!因为熊掌也是好吃的!所以本人的python学习,就是从鱼和熊掌兼而得之的思路来学习的。因此本python的学习,从c++调用python开始。

      第一步建立一个vc的应用程序,建立工程:callpython

第二步开始进行环境配置:

配置附加包含目录include

配置lib路径

指定输入附加依赖项

完成了指定的设置选项,对了这里要强调两点:

    第一点:我本人使用的是64位的win10,所以最初建立的win32工程,要修改配置为64位,这个对于经常使用vc程序的人,不用啰嗦介绍,非常简单。

    第二点:大家看到C:\Python35,这个路径一定很奇怪,说白了,前面没有介绍python环境的安装,这里补充一下。

  我也曾下载最新的python3.8.3的包进行了安装,但是在包含进来python.h文件时,编译报错,估计是上传代码不全,或者我没有研究清楚的缘故。因为事情比较急,急于搭建出开发环境来,所以找了个稳定的版本先运行起来再说。

  查了一下python3.5版本,比较稳定,所以下载安装了。安装到c:\Python35目录中。

环境配置好了,下面进入第三步,开始上代码。

第三步:写代码

这里是vc的代码:

#include "stdafx.h"
#include"C:\Python35\include\Python.h"
#include <iostream>
using namespace std;

int main()
{
 
    Py_SetPythonHome(L"C:\\Python35");

    Py_Initialize();              //使用python之前,要调用Py_Initialize();这个函数进行初始化  
    PyObject * pModule = NULL;    //声明变量  
    PyObject * pFunc = NULL;      //声明变量  
 
    if(!Py_IsInitialized()){  
        printf("python初始化失败");  
        return -1;  
    }  
    PyRun_SimpleString("import sys");  
    PyRun_SimpleString("sys.path.append('./')");  
    PyRun_SimpleString("print(sys.path)");
    PyRun_SimpleString("print('Hello World!!')");


    PyRun_SimpleString("import helloworld"); /*调用python文件*/
    PyRun_SimpleString("helloworld.printHello()");/*调用python文件中的函数*/


    Py_Finalize();              

    getchar();
    return 0;
}

下面是 helloword.py文件

def printHello():
    print("Hello World in python!")

完成写代码。

第四步:编译运行。

完美收关!

 

 

 

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jyl_sh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值