学习有效期:永久观看
学习时长:1587分钟
学习计划:27天
难度:中
CEO/董事长/总经理
讲师介绍:夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟仿真,计算机视觉,嵌入式图像处理,云安全审计项目,比赛鹰眼系统,主编出版过《C++实训教程》,并同时熟悉php,c#,java,安卓项目研发。
一 环境准备 和Python语法快速入门 二 Python CTypes访问C/C++动态链接库 三 Python源码跨平台的编译 四 Python的C/C++扩展库_模块、函数、类扩展 五 Python的多线程GIL及在web中调用ffmpeg扩展示例 六 Python虚拟机定制-使用c++调用python 七 基于python_qt_ffmpeg的视频播放项目示例
第1章:课程介绍和环境准备 |
1.课程介绍 |
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上编译安装和依赖库的编译安装 |
6.c++python扩展库的开发步骤和发布方法讲解 |
第5章:Python的C/C++扩展库_模块和函数 |
1.完成python的c扩展库模块入口创建和扩展函数代码 |
2.使用distutils模块完成扩展库的编译并在win_linux和mac上测试 |
3.Python源码PyObject结构分析和引用计数代码分析 |
4.PyLongObject与PyObject关系讲解及源码分析 |
5.使用VS2015创建好python扩展库项目配置和编译完成 |
6.基于vs2015配置python扩展库自动部署和调试 |
7.基于PyArg_ParseTuple给扩展库传递整形参数 |
8.传递浮点数并通过PyFloat_Check检测参数类型 |
9.PyUnicodeObject结构分析和扩展库返回字符串 |
10.扩展库接收字符串参数传递编码测试 |
11.扩展库传递关键字参数METH_KEYWORDS |
12.扩展库传递一维和二维元组tuple参数并分析tuple源码 |
13.扩展库返回一维和二维元组tuple |
14.扩展库读取list参数遍历显示并检测格式错误设置异常字符串 |
15.扩展库添加_插入_修改和删除list参数中元素 |
16.扩展库返回新创的list和参数list并对引用计数加一 |
17.扩展库读取Dictionary参数并处理引用计数解决内存泄漏问题 |
18.扩展库根据关键字读取字典并清理空间 |
19.扩展库函数参数遍历字典PyDict_Keys并清理相应空间 |
20.扩展库PyDict_Next迭代访问字典内容并封装PyObject打印函数 |
21.扩展库处理dict参数插入修改和删除数据 |
22.扩展库函数返回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虚拟机定制c++调用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主模块传递模块 |
第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 |
技术专家系统讲解传授编程思路与实战。
专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。
超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)
企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。
2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。
满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。
【完善的技术体系】
技术成长循序渐进,帮助用户轻松掌握
掌握Python知识,扎实编码能力
【清晰的课程脉络】
浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。
【仿佛在大厂实习般的课程设计】
课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。
1 快速入门python,学会编译查看Python的源码 2 会跨平台win,linux,mac使用ctypes传递变量、结构体和回调函数给c++ 3 会跨平台开发python的c++扩展库 4 会使用c++调用pythonAPI并定制化python虚拟机 5 实战联合qt+ffmpeg+python开发一个视频播放器