作家
登录

打通Python和C++之后?你懂的!

作者: 来源: 2017-11-07 13:58:19 阅读 我要评论

  •     std::vector<double> item_discounts; 
  • }; 
  • ++

    1. void Person::set_items(list& prices, list& discounts) 
    2.     for(int i = 0; i < len(prices); ++i) 
    3.     { 
    4.         double price = extract<double>(prices[i]); 
    5.         double discount = extract<double>(discounts[i]); 
    6.         item_prices.push_back(price); 
    7.         item_discounts.push_back(discount); 
    8.     } 

    Python模块定义部分依旧是异常直不雅的代码:

    个中,Python方的list类型,在Boost.Python中有一个对应的实现boost::python::list(响应的,dict、tuple等类型都有对应实现)。在set_items中,我们将会用boost::python::extract对数据类型做一个转换。

    1. BOOST_PYTHON_MODULE(person) 
    2.     class_<Person>("Person"
    3.         .def("set_name", &Person::set_name) 
    4.         .def("print_info", &Person::print_info) 
    5.         .def("set_items", &Person::set_items) 
    6.     ;    
    1. # -*- coding: utf-8 -*- 
    2. import sys 
    3. sys.path.append('.'
    4.  
    5.  
    6. def test(): 
    7.     import person 
    8.     p = person.Person() 
    9.     p.set_name('Qie'
    10.     p.set_items([100, 123.456, 888.8], [0.3, 0.1, 0.5]) 
    11.     print p.print_info() 
    12.  
    13.  
    14. if __name__ == "__main__"
    15.     test() 

    Py++

    膳绫擎的模块封装过程,看上去照样有些逝世板,有不少处所都是反复的工作。那么可弗成以主动的进行呢?Py++供给了如许的才能,它可以帮你主动生成Boost.Python的相干代码,对于接口数量比较多的模块来说,可以极大年夜的削减工作量,也削减了掉足的概率。具体应用办法,可以拜见 Tutorial

    【编辑推荐】

    1. 看看60万码农怎么评论:这世界上还有没有月薪低于3万的法度榜样员?
    2. 红帽公司开端将其 OpenStack 平台迁徙到容器
    3. Biny —— 腾讯开源的超轻量级PHP框架
    4. 资深法度榜样员告诉你:若何用五年时光攒够100万?
    5. Python被誉为神奇的“胶水说话”,到底神奇在哪?
    【义务编辑:未丽燕 TEL:(010)68476606】

    在Python代铝闼楝就可以像应用一个Python定义的类一样应用Person类了:



      推荐阅读

      不止是数据迁移,这份 iPhone 换机指南连怎么处理旧手机都帮你想好了

    若何大年夜旧手机无痛迁徙到新机?若何处理旧手机?卖旧机如何防止隐私泄漏?三步走,备份 - 迁徙 - 处理一条龙,信赖这篇全方位的指南可以或许让你有的放矢。本年的苹不雅异常大方,信赖大年夜家都抢到 iPhone X 了 :)>>>详细阅读


    本文标题:打通Python和C++之后?你懂的!

    地址:http://www.17bianji.com/lsqh/38564.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)