你将会学到:

快速入门,学习编译查看Python的源码 ;会跨平台win,linux,mac使用ctypes传递变量、结构体和回调函数给 ; 会跨平台开发python的扩展库; 会使用c++调用pythonAPI并定制化python虚拟机 ;实战联合qt+ffmpeg+python开发

适合人群:

开发者要在项目中引入脚本 ;python开发者想要引入库或者想要深入理解

课程简介:

一 环境准备 和Python语法入门

二 Python CTypes访问C/C++动态链接库

三 Python源码跨平台的编译

四 Python的C/C++扩展库_模块、函数、类扩展

五 Python的及在web中调用ffmpeg扩展示例

六 Python虚拟机定制-使用

七 基于python_qt_ffmpeg的视频播放项目示例

Python & C/C++联合编程实战视频教程 Python & C/C++联合编程实战视频教程

课程目录

第1章: 课程介绍和环境准备

第1节: Python&c++课程介绍
第2节: PythonSDK在windows中的安装和配置
第3节: pycharmIDE在Windows中的安装配置
第4节: PythonSDK在Mac中安装和配置
第5节: pycharm在Mac中安装和配置
第6节: PythonSdk和pycharm在ubuntu中安装和配置

第2章: Python语法快速入门

第1节: print输出格式设定和代码演示
第2节: print输出到文件并输出csv格式的excel表格
第3节: python注释分号和换行基础语法
第4节: python的基础类型分析和整形浮点型的内部存储分析
第5节: python布尔bool类型内部存储分析
第6节: python复数的C语言内部结构分析
第7节: python的算数运算符
第8节: python字符集问题分析
第9节: python字符串的访问和截取方法
第10节: python字符串多行处理的三种方法
第11节: python字符串拼接和格式化
第12节: python _list数据结构内部存储分析
第13节: python_list数据访问插入删除代码示例
第14节: python_tuple元组
第15节: python_dictionary存储hash表分析
第16节: python_dictionary代码演示
第17节: python的if条件判断语法
第18节: python的while循环语句
第19节: Python的for循环语句
第20节: python函数的参数默认可变和关键字参数
第21节: python的函数返回值的多种形式
第22节: python的闭包函数closure
第23节: Python的lambda表达式
第24节: Python函数中变量的作用域scope
第25节: python面向对象编程构造函数和析构函数
第26节: python类的普通成员变量和私有成员变量
第27节: python类的继承和函数重载
第28节: python的模块和包的寻址引用分析
第29节: python模块导入几种方式
第30节: python导入import模块module的路径设置
第31节: python导入包和子包
第32节: python多进程编程分析
第33节: python多进程编程代码演示
第34节: Python多线程编程互斥锁和通信队列
第35节: python的异常处理抛出和自定义

第3章: Python CTypes访问C/C++动态链接库

第1节: ctypes库介绍和windows下编译动态链接库的说明
第2节: Python用ctypes调用的windows上C++32位动态库示例
第3节: 编译linux动态库python的ctypes调用示例
第4节: 测试的ctypes动态库代码移植到mac中
第5节: python的ctypes与c语言类型转换分析
第6节: ctypes整数和浮点数类型参数传递代码示例和异常处理
第7节: ctypes给c函数传递char字符串和wchar_t宽字符
第8节: 通过create_string_buffer给c语言传递可修改的空间
第9节: 使用ctypes跨平台mac_linux_windows调用C语言函数
第10节: 使用ctypes调用win32的MessageBox并判断
第11节: 通过ctypes获取c函数返回的整形和字符串
第12节: Ctypes给C++传递指针和修改c++返回指针的值
第13节: ctypes为C函数传递数组
第14节: ctypes给c函数传递结构体对象指针和数组
第15节: ctypes获取C函数返回结构体对象和指针
第16节: ctypes传递回调函数给c库函数qsort进行快速排序
第17节: 通过ctypes在c函数中调用python的函数
第18节: 案例-python与c++三维引擎示例说明
第19节: 案例-完成ctypes调用的dll项目创建并单例类
第20节: 案例-完成了python通过ctypes调用dll函数
第21节: 案例-导入鬼火三维引擎完成窗口初始化接口
第22节: 案例-完成三维场景添加
第23节: 案例-完成主循环和场景摄像机刷新显示
第24节: 案例-完成md2动画人物模型添加和属性设置
第25节: 案例-完成场景和人物节点三维坐标设定
第26节: 案例-完成人物武器添加
第27节: 案例-完成鼠标点击人物挥刀的事件处理

第4章: Python源码跨平台的编译

第1节: Python源码编译windows环境准备和源码目录结构分析
第2节: 完成python源码在windows中的编译
第3节: python编译后在windows上的环境变量和注册表配置
第4节: python源码在linux上编译配置运行
第5节: python源码在mac上编译安装和依赖库的编译安装

第5章: Python的C/C++扩展库_模块和函数

第1节: c++python扩展库的开发步骤和发布方法讲解
第2节: 完成python的c扩展库模块入口创建和扩展函数代码
第3节: 使用distutils模块完成扩展库的编译并在win_linux和mac上测试
第4节: Python源码PyObject结构分析和引用计数代码分析
第5节: PyLongObject与PyObject关系讲解及源码分析
第6节: 使用VS2015创建好python扩展库项目配置和编译完成
第7节: 基于vs2015配置python扩展库自动部署和调试
第8节: 基于PyArg_ParseTuple给扩展库传递整形参数
第9节: 传递浮点数并通过PyFloat_Check检测参数类型
第10节: PyUnicodeObject结构分析和扩展库返回字符串
第11节: 扩展库接收字符串参数传递编码测试
第12节: 扩展库传递关键字参数METH_KEYWORDS
第13节: 扩展库传递一维和二维元组tuple参数并分析tuple源码
第14节: 扩展库返回一维和二维元组tuple
第15节: 扩展库读取list参数遍历显示并检测格式错误设置异常字符串
第16节: 扩展库添加_插入_修改和删除list参数中元素
第17节: 扩展库返回新创的list和参数list并对引用计数加一
第18节: 扩展库读取Dictionary参数并处理引用计数解决内存泄漏问题
第19节: 扩展库根据关键字读取字典并清理空间
第20节: 扩展库函数参数遍历字典PyDict_Keys并清理相应空间
第21节: 扩展库PyDict_Next迭代访问字典内容并封装PyObject打印函数
第22节: 扩展库处理dict参数插入修改和删除数据
第23节: 扩展库函数返回dictionary字段

第6章: Python的C/C++扩展库_类扩展

第1节: 扩展库新增类步骤分析
第2节: 完成第一个扩展库类的示例完成类空间分配tp_new函数和setup安装脚本
第3节: 类扩展构造函数和析构函数及关键字参数传递
第4节: 扩展库类添加成员变量tp_members并在构造函数中初始化
第5节: 扩展库字符串和PyObject成员变量添加和析构函数中的成员变量清理
第6节: 扩展库类添加属性并定义get和set的属性函数
第7节: 扩展库的类添加成员函数
第8节: 扩展库类的循环引用内存泄漏问题设定垃圾回收函数解决

第7章: Python的C/C++类扩展库_多线程GIL及ffmpeg扩展示例

第1节: python全局解释器锁GIL调度策略分析和获取释放的api
第2节: 在c++扩展函数中用创建线程PyGILState_Ensure并在线程处理GIL
第3节: c++的python扩展函数中保存线程环境释放线程锁
第4节: 基于ffmpeg扩展库示例环境和项目创建
第5节: 完成了扩展库PyFFmpeg对象创建_初始化和析构
第6节: 创建XFFmpeg类导入ffmpeg相关库问题并设置完测试环境
第7节: 完成视频信息读取和开放属性接口
第8节: 在python的web程序中访问ffmpeg扩展库示例

第8章: Python虚拟机定制

第1节: 完成cpp调用python的环境准备和虚拟机初始化
第2节: c++运行python脚本文件和脚本字符串并增加异常处理
第3节: c++读取python脚本中的dictionary类变量示例
第4节: c++调用python的类实例化对象访问成员函数和成员变量
第5节: c++调用python函数并传递list参数并获取返回值
第6节: c++给python传递变量的两种方法PyObject_SetAttrString
第7节: c++给python传递函数和类PyModule_AddFunctions
第8节: c++读取python模块并给python主模块传递模块PyImport_ImportModule

第9章: 基于python_qt_ffmpeg的视频播放项目示例

第1节: py_ffmpeg_python综合项目需求和用到的库说明
第2节: 依赖的QT环境安装和代码示例
第3节: 完成项目创建并初始化python虚拟机
第4节: c++读取python的配置项改变窗口大小和标题
第5节: qt按钮事件的Open槽函数中调用python函数
第6节: 导入pyffmpeg扩展库完成视频的打开
第7节: 完成pyffmpeg扩展库的Read读取视帧函数
第8节: 在c++线程中调用python的main函数解决GIL问题并读取视频帧
第9节: 完成扩展库中打开ffmpeg解码器
第10节: 完成扩展库pyffmpeg的decode解码函数并完成解码测试
第11节: 完成扩展库pyffmpeg的尺寸和像素格式转换上下文初始化和测试
第12节: 完成扩展库pyffmpeg尺寸转换空间申请释放和处理
第13节: 重载qt显示视频窗口完成图像设置和视频绘制函数
第14节: 完成python图像设置接口并完成视频播放
第15节: 完成视频播放器并根据fps控制播放速度
第16节: PyLplayer移植到linux步骤分析讲解
第17节: 演示linux安装qt和编译ffmpeg源码
第18节: PyFFmpeg移植到linux并测试
第19节: 完成了PyPlayer在linux的qtcreator移植
第20节: Python扩展库和PyPlayer移植到MacOS

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件、阿里云盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源