课程目标:
快速入门python,学习编译查看Python的源码 ;会跨平台win,linux,mac使用ctypes传递变量、结构体和回调函数给c++ ; 会跨平台开发python的c++扩展库; 会使用c++调用pythonAPI并定制化python虚拟机 ;实战联合qt+ffmpeg+python开发
课程简介:
一 环境准备 和Python语法入门
二 Python CTypes访问C/C++动态链接库
三 Python源码跨平台的编译
四 Python的C/C++扩展库_模块、函数、类扩展
五 Python的多线程GIL及在web中调用ffmpeg扩展示例
六 Python虚拟机定制-使用c++调用python
七 基于python_qt_ffmpeg的视频播放项目示例
课程大纲-Python & C/C++联合编程实战视频课程
第1章 课程介绍和环境准备 52分钟5节
-
1-1 PythonSDK在windows中的安装和配置 [16:56]
-
1-2 pycharmIDE在Windows中的安装配置 [09:30]
-
1-3 PythonSDK在Mac中安装和配置 [09:43]
-
1-4 pycharm在Mac中安装和配置 [05:33]
-
1-5 PythonSdk和pycharm在ubuntu中安 [10:39]
第2章 Python语法快速入门 5小时47分钟35节
-
2-1 print输出格式设定和代码演示 [16:54]
-
2-2 print输出到文件并输出csv格式的excel表格 [07:59]
-
2-3 python注释分号和换行基础语法 [09:12]
-
2-4 python的基础类型分析和整形浮点型的内部存储分析 [15:11]
-
2-5 python布尔bool类型内部存储分析 [05:51]
-
2-6 python复数的C语言内部结构分析 [05:31]
-
2-7 python的算数运算符 [10:17]
-
2-8 python字符集问题分析 [09:45]
-
2-9 python字符串的访问和截取方法 [10:06]
-
2-10 python字符串多行处理的三种方法 [07:10]
-
2-11 python字符串拼接和格式化 [07:03]
-
2-12 python _list数据结构内部存储分析 [08:42]
-
2-13 python_list数据访问插入删除代码示例 [10:02]
-
2-14 python_tuple元组 [07:07]
-
2-15 python_dictionary存储hash表分析 [08:09]
-
2-16 python_dictionary代码演示 [10:16]
-
2-17 python的if条件判断语法 [20:38]
-
2-18 python的while循环语句 [06:10]
-
2-19 Python的for循环语句 [07:58]
-
2-20 python函数的参数默认可变和关键字参数 [11:31]
-
2-21 python的函数返回值的多种形式 [10:19]
-
2-22 python的闭包函数closure [07:14]
-
2-23 Python的lambda表达式 [05:15]
-
2-24 Python函数中变量的作用域scope [09:55]
-
2-25 python面向对象编程构造函数和析构函数 [11:22]
-
2-26 python类的普通成员变量和私有成员变量 [09:29]
-
2-27 python类的继承和函数重载 [07:19]
-
2-28 python的模块和包的寻址引用分析 [09:05]
-
2-29 python模块导入几种方式 [06:11]
-
2-30 python导入import模块module的路径设 [05:00]
-
2-31 python导入包和子包 [13:18]
-
2-32 python多进程编程分析 [13:36]
-
2-33 python多进程编程代码演示 [06:31]
-
2-34 Python多线程编程互斥锁和通信队列 [24:35]
-
2-35 python的异常处理抛出和自定义 [12:32]
第3章 Python CTypes访问C/C++动态链接库 4小时36分钟27节
-
3-1 ctypes库介绍和windows下编译动态链接库的 [09:46]
-
3-2 Python用ctypes调用的windows上C+ [11:30]
-
3-3 编译linux动态库python的ctypes调用示 [16:50]
-
3-4 测试的ctypes动态库代码移植到mac中 [05:06]
-
3-5 python的ctypes与c语言类型转换分析 [07:29]
-
3-6 ctypes整数和浮点数类型参数传递代码示例和异常处 [10:18]
-
3-7 ctypes给c函数传递char字符串和wchar_ [10:57]
-
3-8 通过create_string_buffer给c语言 [06:17]
-
3-9 使用ctypes跨平台mac_linux_windo [11:17]
-
3-10 使用ctypes调用win32的MessageBox [10:28]
-
3-11 通过ctypes获取c函数返回的整形和字符串 [08:56]
-
3-12 Ctypes给C++传递指针和修改c++返回指针的值 [14:51]
-
3-13 ctypes为C函数传递数组 [11:18]
-
3-14 ctypes给c函数传递结构体对象指针和数组 [13:24]
-
3-15 ctypes获取C函数返回结构体对象和指针 [06:32]
-
3-16 ctypes传递回调函数给c库函数qsort进行快速 [11:41]
-
3-17 通过ctypes在c函数中调用python的函数 [09:35]
-
3-18 案例-python与c++联合编程三维引擎示例说明 [07:17]
-
3-19 案例-完成ctypes调用的dll项目创建并单例类 [11:29]
-
3-20 案例-完成了python通过ctypes调用dll函 [07:04]
-
3-21 案例-导入鬼火三维引擎完成窗口初始化接口 [10:27]
-
3-22 案例-完成三维场景添加 [09:42]
-
3-23 案例-完成主循环和场景摄像机刷新显示 [05:50]
-
3-24 案例-完成md2动画人物模型添加和属性设置 [06:50]
-
3-25 案例-完成场景和人物节点三维坐标设定 [10:25]
-
3-26 案例-完成人物武器添加 [07:11]
-
3-27 案例-完成鼠标点击人物挥刀的事件处理 [23:44]
第4章 Python源码跨平台的编译 1小时15分钟6节
-
4-1 Python源码编译windows环境准备和源码目录 [10:50]
-
4-2 完成python源码在windows中的编译 [18:28]
-
4-3 python编译后在windows上的环境变量和注册 [09:20]
-
4-4 python源码在linux上编译配置运行 [07:39]
-
4-5 python源码在mac上编译安装和依赖库的编译安装 [15:08]
-
4-6 c++python扩展库的开发步骤和发布方法讲解 [14:01]
第5章 Python的C/C++扩展库_模块和函数 3小时34分钟22节
-
5-1 完成python的c扩展库模块入口创建和扩展函数代码 [13:47]
-
5-2 使用distutils模块完成扩展库的编译并在win [13:23]
-
5-3 Python源码PyObject结构分析和引用计数代 [07:08]
-
5-4 PyLongObject与PyObject关系讲解及 [11:53]
-
5-5 使用VS2015创建好python扩展库项目配置和编 [11:49]
-
5-6 基于vs2015配置python扩展库自动部署和调试 [06:04]
-
5-7 基于PyArg_ParseTuple给扩展库传递整形 [05:27]
-
5-8 传递浮点数并通过PyFloat_Check检测参数类 [09:04]
-
5-9 PyUnicodeObject结构分析和扩展库返回字 [11:33]
-
5-10 扩展库接收字符串参数传递编码测试 [05:51]
-
5-11 扩展库传递关键字参数METH_KEYWORDS [12:46]
-
5-12 扩展库传递一维和二维元组tuple参数并分析tupl [12:34]
-
5-13 扩展库返回一维和二维元组tuple [07:31]
-
5-14 扩展库读取list参数遍历显示并检测格式错误设置异常 [08:37]
-
5-15 扩展库添加_插入_修改和删除list参数中元素 [10:35]
-
5-16 扩展库返回新创的list和参数list并对引用计数加 [07:51]
-
5-17 扩展库读取Dictionary参数并处理引用计数解决 [13:47]
-
5-18 扩展库根据关键字读取字典并清理空间 [07:45]
-
5-19 扩展库函数参数遍历字典PyDict_Keys并清理相 [11:40]
-
5-20 扩展库PyDict_Next迭代访问字典内容并封装P [05:40]
-
5-21 扩展库处理dict参数插入修改和删除数据 [13:32]
-
5-22 扩展库函数返回dictionary字段 [06:14]
第6章 Python的C/C++扩展库_类扩展 1小时56分钟8节
-
6-1 扩展库新增类步骤分析 [09:39]
-
6-2 完成第一个扩展库类的示例完成类空间分配tp_new函 [28:37]
-
6-3 类扩展构造函数和析构函数及关键字参数传递 [14:57]
-
6-4 扩展库类添加成员变量tp_members并在构造函数 [10:09]
-
6-5 扩展库字符串和PyObject成员变量添加和析构函数 [11:18]
-
6-6 扩展库类添加属性并定义get和set的属性函数 [15:40]
-
6-7 扩展库的类添加成员函数 [07:19]
-
6-8 扩展库类的循环引用内存泄漏问题设定垃圾回收函数解决 [18:48]
第7章 Python的C/C++类扩展库_多线程GIL及ffmpeg 1小时59分钟8节
-
7-1 python全局解释器锁GIL调度策略分析和获取释放 [11:45]
-
7-2 在c++扩展函数中用创建线程PyGILState_E [15:47]
-
7-3 c++的python扩展函数中保存线程环境释放线程锁 [09:18]
-
7-4 基于ffmpeg扩展库示例环境和项目创建 [17:23]
-
7-5 完成了扩展库PyFFmpeg对象创建_初始化和析构 [16:34]
-
7-6 创建XFFmpeg类导入ffmpeg相关库问题并设置 [22:38]
-
7-7 完成视频信息读取和开放属性接口 [08:12]
-
7-8 在python的web程序中访问ffmpeg扩展库示 [17:24]
第8章 Python虚拟机定制c++调用python 1小时34分钟8节
-
8-1 完成cpp调用python的环境准备和虚拟机初始化 [12:04]
-
8-2 c++运行python脚本文件和脚本字符串并增加异常 [13:28]
-
8-3 c++读取python脚本中的dictionary类 [15:38]
-
8-4 c++调用python的类实例化对象访问成员函数和成 [13:53]
-
8-5 c++调用python函数并传递list参数并获取返 [17:56]
-
8-6 c++给python传递变量的两种方法PyObjec [06:46]
-
8-7 c++给python传递函数和类PyModule_A [07:36]
-
8-8 c++读取python模块并给python主模块传递 [07:05]
第9章 基于python_qt_ffmpeg的视频播放项目示例 4小时28分钟20节
-
9-1 py_ffmpeg_python综合项目需求和用到的 [07:55]
-
9-2 依赖的QT环境安装和代码示例 [21:24]
-
9-3 完成项目创建并初始化python虚拟机 [10:35]
-
9-4 c++读取python的配置项改变窗口大小和标题 [11:30]
-
9-5 qt按钮事件的Open槽函数中调用python函数 [16:51]
-
9-6 导入pyffmpeg扩展库完成视频的打开 [05:58]
-
9-7 完成pyffmpeg扩展库的Read读取视帧函数 [14:59]
-
9-8 在c++线程中调用python的main函数解决GI [11:57]
-
9-9 完成扩展库中打开ffmpeg解码器 [17:07]
-
9-10 完成扩展库pyffmpeg的decode解码函数并完 [16:37]
-
9-11 完成扩展库pyffmpeg的尺寸和像素格式转换上下文 [17:08]
-
9-12 完成扩展库pyffmpeg尺寸转换空间申请释放和处理 [11:20]
-
9-13 重载qt显示视频窗口完成图像设置和视频绘制函数 [16:58]
-
9-14 完成python图像设置接口并完成视频播放 [15:14]
-
9-15 完成视频播放器并根据fps控制播放速度 [13:30]
-
9-16 PyLplayer移植到linux步骤分析讲解 [14:26]
-
9-17 PyFFmpeg移植到linux并测试 [09:28]
-
9-18 演示linux安装qt和编译ffmpeg源码 [05:55]
-
9-19 完成了PyPlayer在linux的qtcreato [13:06]
-
9-20 Python扩展库和PyPlayer移植到MacOS [16:16]