图解Python系列视频教程
逐图深入Python世界,构建、进阶、实战一气呵成
原创图解助记忆
实战案例驱动学习
免费答疑及更新服务
清晰的音质与详细笔记
学什么
学习Python缩编程语言的高级技术专题,例如:面向对象编程、模块等
学习目标
帮助各位朋友掌握Python的高级技术专题,进一步提高Python技能和水平
怎么学
1.认真看视频 2.反复敲代码 3.及时问老师
第一阶段
图解Python(第一阶段)
通过学习基础篇,希望能够帮助各位朋友打下坚实的Python基础,轻松入门Python!
第二阶段
图解Python(第二阶段)
学习高级篇之后,可以学习Python的一些高级主题!学习完飞机大战这个实战项目后,可以学习Python项目开发中的众多技能,包括:编码规范、面向对象、代码重构,等等。
第三阶段
图解Python(第三阶段)
通过学习高级进阶篇和高级强化篇,希望能够帮助各位朋友再次进一步提高Python技能和水平,向Python高手和大牛的队伍迈进!
第四阶段
图解Python(第四阶段)
详细讲解鼎鼎大名的Python编程神器Jupyter Notebook,让学员多面学习Jupyter Notebook的强大功能和实用技巧。
资料名称 | 文件大小 |
---|---|
01_01说在前面的话 | 988.60KB |
02_01在Windows操作系统中安装Python | 27.13M |
02_02在MacOS操作系统中安装Python | 28.43M |
02_03在Ubuntu操作系统中安装Python | 23.77M |
02_04在REPL交互式命令行中编写HelloWorld程序 | 2.87M |
02_05在文本编辑器中编写HelloWorld程序 | 2.20M |
02_06在集成开发环境PyCharm编写HelloWorld程序 | 1.73M |
03_01数据类型的概述 | 1.45M |
03_02整数类型 | 1.92M |
03_03浮点数类型 | 1.93M |
03_04布尔类型 | 1.41M |
04_01运算符的概述 | 1.46M |
04_02标准算术运算符 | 1.58M |
04_03取余运算符 | 1.51M |
04_04幂运算符 | 1.35M |
04_05布尔运算符 | 1.71M |
04_06赋值运算符和变量 | 2.38M |
04_07比较运算符 | 1.96M |
04_08关键字和标识符 | 2.07M |
04_09对象None | 1.53M |
04_10运算符的优先级和结合性 | 2.09M |
05_01序列类型range | 1.98M |
06_01什么是列表 | 1.63M |
06_02列表的创建 | 1.40M |
06_03列表的"查"操作之获得指定元素的索引 | 1.77M |
06_04列表的"查"操作之使用索引一次只获得一个元素 | 1.41M |
06_05列表的"查"操作之使用切片一次获得多个元素 | 2.37M |
06_06列表的"查"操作之使用运算符in检查是否存在指定元素 | 1.39M |
06_07列表的"改"操作 | 1.46M |
06_08列表的"增"操作 | 1.69M |
06_09列表的"删"操作 | 2.12M |
06_10使用加法和乘法运算符操作列表 | 1.81M |
06_11使用比较运算符比较两个列表 | 1.60M |
06_12列表的反转 | 1.46M |
06_13列表的排序 | 1.68M |
06_14多维列表 | 1.62M |
07_01什么是元组 | 1.87M |
07_02只包含一个元素的元组 | 1.36M |
07_03多个变量同时赋值 | 1.84M |
08_01什么是字符串 | 1.37M |
08_02字符串的创建 | 1.90M |
08_03转义字符 | 2.03M |
08_04原始字符串 | 1.56M |
08_05跨越多行的字符串 | 1.65M |
08_06使用加法和乘法运算符操作字符串 | 1.56M |
08_07字符串的"查"操作 | 1.66M |
08_08字符串是不可变类型 | 1.30M |
08_09使用比较运算符比较两个字符串 | 1.88M |
08_10字符串的反转 | 1.38M |
08_11字符串的排序 | 1.81M |
08_12格式化字符串之使用百分号作为占位符 | 2.68M |
08_13格式化字符串之使用花括号作为占位符 | 2.81M |
08_14格式化字符串之使用美元符作为占位符 | 1.72M |
08_15字符串的大小写转换 | 1.84M |
08_16字符串的对齐 | 1.84M |
08_17字符串的子串替换 | 1.45M |
08_18字符串的字符转换 | 1.78M |
08_19字符串的劈分和合并 | 2.58M |
08_20以is开头的字符串方法 | 1.86M |
08_21去除字符串的前导字符串或后续字符串 | 1.64M |
09_01为什么需要字典 | 1.60M |
09_02什么是字典 | 1.95M |
09_03字典的创建 | 1.75M |
09_04字典的"查"操作 | 1.70M |
09_05字典的"改"操作 | 1.50M |
09_06字典的"增"操作 | 1.50M |
09_07字典的"删"操作 | 1.84M |
09_08为字典中指定的key设置默认的value值 | 1.56M |
09_09字典的视图 | 1.69M |
09_10借助字典创建格式化字符串 | 1.92M |
10_01什么是集合 | 1.51M |
10_02集合的创建 | 1.72M |
10_03集合间的关系 | 1.70M |
10_04集合的数学操作 | 2.57M |
10_05集合的"查"操作 | 1.32M |
10_06集合的"增"操作 | 1.58M |
10_07集合的"删"操作 | 1.75M |
10_08不可变集合frozenset | 1.63M |
11_01流程控制的概述 | 1.45M |
11_02顺序结构 | 1.36M |
11_03选择结构的概述 | 1.28M |
11_04代码块的缩进 | 1.46M |
11_05if语句 | 2.53M |
11_06对象的布尔值 | 1.77M |
11_07条件表达式 | 1.55M |
11_08循环结构的概述 | 1.73M |
11_09while语句 | 2.00M |
11_10for-in语句 | 2.36M |
11_11带索引的序列遍历 | 1.93M |
11_12循环语句中的break-else结构 | 2.02M |
11_13循环语句中的break和continue | 1.62M |
11_14并行遍历 | 2.10M |
11_15遍历可迭代对象的内置函数map和filter | 1.76M |
12_01列表生成式 | 2.33M |
12_02集合生成式 | 1.99M |
12_03字典生成式 | 2.03M |
13_01函数的概述 | 2.35M |
13_02函数的定义和调用 | 2.38M |
13_03函数的调用之位置实参 | 1.42M |
13_04函数的调用之关键字实参 | 1.60M |
13_05函数的调用之实参的传递 | 1.67M |
13_06函数的定义之多个返回值 | 1.69M |
13_07函数的定义之带默认值的形参 | 2.35M |
13_08函数的定义之使用*定义关键字形参 | 1.37M |
13_09函数的定义之使用*定义个数可变的位置形参 | 2.09M |
13_10函数的调用之使用*将序列中的每个元素都转换为位置实参 | 1.73M |
13_11函数的定义之使用**定义个数可变的关键字形参 | 1.94M |
13_12函数的调用之使用**将字典中的每个键值对都转换为关键字实参 | 1.78M |
13_13函数的各种参数大总结 | 1.42M |
13_14pass语句 | 1.49M |
13_15函数的定义之文档字符串 | 1.81M |
13_16函数的定义之函数注解 | 1.82M |
13_17递归函数 | 1.88M |
14_01舍罕王赏麦 | 1.83M |
14_02不重复的三位数 | 1.74M |
14_03角谷猜想 | 1.64M |
14_04鸡兔同笼 | 1.73M |
14_05百钱买百鸡 | 2.41M |
14_06谁家孩子跑得最慢 | 2.73M |
14_07杨辉三角 | 2.30M |
14_08谁在说谎 | 2.03M |
14_09猴子吃桃 | 2.12M |
14_10汉诺塔 | 2.54M |
资料名称 | 文件大小 |
---|---|
01_01说在前面的话 | 930.62KB |
02_01浅拷贝 | 2.15M |
02_02深拷贝 | 2.12M |
03_01面向对象编程的概述(上) | 2.05M |
03_02面向对象编程的概述(下) | 1.50M |
03_03定义类对象和创建实例对象(上) | 1.87M |
03_04定义类对象和创建实例对象(下) | 1.36M |
03_05实例属性(上) | 2.09M |
03_06实例属性(下) | 1.55M |
03_07类属性(上) | 1.54M |
03_08类属性(中) | 1.68M |
03_09类属性(下) | 1.89M |
03_10实例方法(上) | 1.67M |
03_11实例方法(下) | 1.67M |
03_12类方法 | 1.75M |
03_13静态方法 | 1.71M |
03_14访问控制 | 1.96M |
03_15封装 | 1.56M |
03_16继承的概述 | 1.86M |
03_17继承 | 1.73M |
03_18重写 | 1.77M |
03_19多态 | 2.07M |
03_20MRO(上) | 1.52M |
03_21MRO(下) | 1.49M |
03_22获取对象的信息之内置函数issubclass()和isinstance() | 1.86M |
03_23获取对象的信息之内置函数type() | 1.90M |
03_24获取对象的信息之内置函数dir() | 1.41M |
03_25特殊属性和特殊方法 | 1.43M |
03_26获取对象的信息之特殊属性__dict__ | 1.39M |
03_27获取对象的信息之反射 | 1.97M |
03_28类对象的特殊方法之__len__() | 1.65M |
03_29类对象的特殊方法之__iter__()和__next__() | 1.71M |
03_30类对象的特殊方法之__add__()和__radd__() | 1.89M |
03_31类对象的特殊方法之__str__()和__repr__()(上) | 1.64M |
03_32类对象的特殊方法之__str__()和__repr__()(下) | 2.03M |
03_33类对象的特殊方法之__new__() | 1.73M |
03_34对象的引用计数(上) | 1.73M |
03_35对象的引用计数(下) | 1.48M |
03_36类对象的特殊方法之__del__() | 1.57M |
03_37类对象的特殊方法之__getattr__() | 1.59M |
03_38类对象的特殊方法之__getitem__() | 1.71M |
03_39类对象的特殊方法之__call__() | 1.47M |
03_40类对象的特殊属性之__doc__ | 1.64M |
03_41类对象的特殊属性之__slots__ | 2.19M |
04_01模块的概述 | 415.48KB |
04_02使用标准库中的模块(上) | 2.00M |
04_03使用标准库中的模块(下) | 2.05M |
04_04使用第三方库中的模块(上) | 1.68M |
04_05使用第三方库中的模块(中) | 1.65M |
04_06使用第三方库中的模块(下) | 1.80M |
04_07安装和配置Anaconda | 1.89M |
04_08使用当前项目中的模块 | 1.43M |
04_09导入的不同模块中存在相同的属性 | 1.35M |
04_10import语句的执行流程 | 1.39M |
04_11解释器搜索模块的路径 | 1.93M |
04_12搜索到的模块被编译为pyc字节码文件 | 1.49M |
04_13运行被导入的模块 | 1.36M |
04_15调用内置函数dir查看模块的所有属性 | 1.47M |
04_14重新加载已经被导入的模块 | 1.39M |
04_16模块的特殊属性之__doc__ | 1.60M |
04_17模块的特殊属性之__name__ | 1.45M |
04_18模块内的数据访问控制之单下划线 | 1.30M |
04_19模块内的数据访问控制之特殊属性__all__ | 1.42M |
05_01生成器(上) | 1.81M |
05_02生成器(下) | 1.51M |
05_03迭代器(上) | 1.86M |
05_04迭代器(下) | 1.55M |
06_01异常的概述 | 2.25M |
06_02使用try-except语句捕获和处理异常(上) | 1.58M |
06_03使用try-except语句捕获和处理异常(下) | 2.16M |
06_04在try-except语句的后面添加else从句 | 1.64M |
06_05在try-except语句的后面添加finally从句 | 1.90M |
06_06使用raise语句手动抛出异常 | 1.63M |
06_07自定义异常 | 1.37M |
06_08异常和函数 | 1.43M |
06_09获取异常信息 | 1.62M |
06_10with语句 | 1.96M |
07_01打开文件 | 1.58M |
07_02读文件(上) | 1.75M |
07_03读文件(下) | 1.82M |
07_04写文件 | 1.66M |
07_05关闭文件 | 1.59M |
07_06文件指针 | 2.04M |
08_01函数的一些重要特性 | 1.43M |
08_02lambda表达式 | 1.69M |
08_03偏函数(上) | 1.32M |
08_04偏函数(下) | 1.62M |
08_05闭包(上) | 1.53M |
08_06闭包(下) | 1.75M |
08_07变量的作用域(上) | 1.89M |
08_08变量的作用域(中) | 1.45M |
08_09变量的作用域(下) | 1.73M |
08_10内置函数locals()和globals() | 1.77M |
08_11函数装饰器(上) | 1.73M |
08_12函数装饰器(下) | 1.69M |
资料名称 | 文件大小 |
---|---|
01_01进程和线程的概述 | 1.63M |
01_02自动创建与启动的进程 | 1.73M |
01_03子进程的创建与启动之直接实例化Process(上) | 1.58M |
01_04子进程的创建与启动之直接实例化Process(下) | 1.89M |
01_05子进程的创建与启动之继承Process | 1.77M |
01_06子进程的创建与启动之调用函数fork() | 1.61M |
01_07自动创建与启动的父线程 | 1.33M |
01_08子线程的创建与启动之直接实例化Thread | 1.91M |
01_09子线程的创建与启动之继承Thread | 1.74M |
01_10多进程执行的不确定性 | 1.33M |
01_11多线程执行的不确定性 | 1.33M |
01_12守护父进程的子进程 | 1.48M |
01_13守护父线程的子线程 | 1.56M |
01_14阻塞父进程的子进程之方法join() | 1.49M |
01_15阻塞父线程的子线程之方法join() | 1.49M |
01_16进程池Pool | 1.76M |
01_17线程池ThreadPool | 1.79M |
01_18进程池ProcessPoolExecutor(上) | 1.74M |
01_19进程池ProcessPoolExecutor(中) | 1.55M |
01_20进程池ProcessPoolExecutor(下) | 2.08M |
01_21线程池ThreadPoolExecutor | 1.73M |
01_22全局变量在多个进程中不能共享 | 1.36M |
01_23全局变量在进程的所有线程中可以共享 | 1.28M |
01_24多线程操作共享数据的不安全性 | 1.38M |
01_25进程间通信之共享内存 | 1.69M |
01_26多进程操作共享数据的不安全性 | 1.41M |
01_27多线程同步之Lock(上) | 1.55M |
01_28多线程同步之Lock(下) | 1.55M |
01_29多进程同步之Lock | 1.96M |
01_30多线程的死锁(上) | 1.60M |
01_31多线程的死锁(下) | 1.29M |
01_32多进程的死锁 | 1.75M |
01_33多线程同步之RLock(上) | 1.64M |
01_34多线程同步之RLock(中) | 1.70M |
01_35多线程同步之RLock(下) | 1.52M |
01_36多进程同步之RLock | 1.55M |
01_37多线程同步之Condition(上) | 1.67M |
01_38多线程同步之Condition(下) | 2.39M |
01_39多进程同步之Condition | 1.78M |
01_40经典生产者消费者问题(多线程Condition版) | 1.73M |
01_41经典生产者消费者问题(多进程Condition版) | 1.76M |
01_42多线程同步之Semaphore(上) | 1.45M |
01_43多线程同步之Semaphore(下) | 1.35M |
01_44多进程同步之Semaphore | 1.69M |
01_45多线程同步之Event | 1.65M |
01_46多进程同步之Event | 1.65M |
01_47管道 | 1.85M |
01_48进程间通信之管道 | 1.73M |
01_49进程间通信之Manager | 1.45M |
01_50全局解释器锁GIL | 1.65M |
01_51定时器线程Timer | 1.47M |
01_52为什么需要ThreadLocal | 1.63M |
01_53什么是ThreadLocal | 1.63M |
02_01正则表达式的简介 | 1.69M |
02_02使用模块re实现字符串的匹配(上) | 1.82M |
02_03使用模块re实现字符串的匹配(下) | 1.92M |
02_04正则表达式的预编译 | 1.87M |
02_05单个字符的匹配 | 1.66M |
02_06正则表达式与原始字符串 | 1.91M |
02_07贪婪匹配与勉强匹配 | 1.72M |
02_08分组匹配(上) | 1.46M |
02_09分组匹配(下) | 1.50M |
02_10逻辑匹配 | 1.45M |
02_11使用模块re实现字符串的查找(上) | 1.80M |
02_12使用模块re实现字符串的查找(中) | 1.60M |
02_13使用模块re实现字符串的查找(下) | 1.82M |
02_14使用模块re实现字符串的替换(上) | 1.71M |
02_15使用模块re实现字符串的替换(下) | 1.47M |
02_16使用模块re实现字符串的劈分 | 1.65M |
02_17边界匹配 | 1.50M |
02_18Match对象的属性和方法 | 1.70M |
资料名称 | 文件大小 |
---|---|
01_01_Jupyter Notebook的概述 | 270.19KB |
02_05_在notebook中编写代码并运行 | 269.54KB |
04_01_使用问号显示对象的信息 | 0.93KB |
04_02_使用叹号执行Shell命令 | 0.88KB |
04_03_使用分号抑制输出最后一行的值 | 1.27KB |
04_04_跨单元格编码 | 0.79KB |
05_01_Markdown单元格(1)段落-标题-分隔线 | 1.08KB |
05_02_Markdown单元格(2)列表-代码-表格 | 1.21KB |
05_03_Markdown单元格(3)超链接-公式-HTML | 1.06KB |
05_04_Markdown单元格(4)图片 | 10.31KB |
06_02_单元格在编辑模式下的快捷键 | 1.17M |
06_03_单元格在命令模式下的快捷键 | 1.06M |
07_02_nbextensions中的常用插件(1) | 0.93KB |
07_03_nbextensions中的常用插件(2) | 0.93KB |
07_04_nbextensions中的常用插件(3) | 0.90KB |
07_05_nbextensions中的常用插件(4) | 0.91KB |
07_06_nbextensions中的常用插件(5) | 0.88KB |
08_01_notebook内置的幻灯片 | 0.99KB |
08_02_插件RISE增强的幻灯片 | 1.05KB |
09_01_使用菜单将notebook导出为其它格式 | 0.92KB |
09_02_使用命令将notebook导出为其它格式 | 2.05KB |
10_01_魔法命令的概述 | 1.98KB |
10_02_行魔法命令 | 6.58KB |
11_03_单元格魔法命令 | 1.02KB |
11_01_使用pdb调试代码 | 1,003.57KB |
11_02_使用ipdb调试代码 | 160.73KB |
12_01_运行其它编程语言 | 0.88KB |
资料名称 | 文件大小 |
---|---|
01_01_飞机大战游戏简介 | 303.09KB |
02_01_搭建开发环境 | 650.45KB |
02_02_pygame HelloWorld程序的运行效果和实现步骤 | 308.94KB |
02_03_HelloWorld第1步:创建并显示一个固定尺寸的窗口 | 21.83KB |
02_04_HelloWorld第2步:处理用户关闭窗口从而退出程序的事件 | 201.69KB |
02_05_HelloWorld第3步:设置窗口的标题和背景色 | 5.47KB |
02_06_HelloWorld第4步:在窗口的底部居中位置绘制一架飞机 | 112.24KB |
02_07_HelloWorld第5步:让飞机向上匀速移动 | 85.03KB |
02_08_一张图总结pygame HelloWorld程序的结构 | 210.54KB |
03_01_重构HelloWorld之将面向过程改为面向对象 | 562.02KB |
03_02_重构HelloWorld之抽象出我方飞机类 | 21.61KB |
03_03_通过矩形表示元素在窗口中的位置 | 384.54KB |
03_04_重构HelloWorld之通过矩形表示我方飞机在窗口中的位置 | 23.77KB |
03_05_重构之提取函数或方法 | 69.00KB |
04_01_让窗口尺寸适配不同尺寸和分辨率的电脑屏幕 | 71.46KB |
05_01_通过持续按下键盘上的上箭头控制我方飞机向上持续移动 | 24.43KB |
05_02_通过持续按下键盘上的任意方向箭头控制我方飞机往指定的任意方向持续移动 | 24.34KB |
05_03_限制我方飞机的移动范围以避免其超出窗口的边缘 | 23.31KB |
05_04_重构处理事件的方法 | 22.07KB |
05_05_重构之提取魔法数字 | 64.90KB |
06_01_以全屏模式运行游戏并添加退出游戏的快捷键 | 24.65KB |
07_01_让我方飞机在每次按下空格键后发射一颗Bullet | 26.12KB |
07_02_删除窗口中不可见的Bullet | 25.18KB |
07_03_让我方飞机定时发射Bullet | 70.91KB |
08_01_定时创建一架小型敌机并从窗口的上方向下匀速移动 | 65.70KB |
08_02_通过提取方法重构既有的代码 | 31.05KB |
08_03_重构之将所有常量提取到一个单独的模块中 | 32.99KB |
08_04_定时创建一架中型敌机并从窗口的上方向下匀速移动 | 43.00KB |
08_05_定时创建一架大型敌机并从窗口的上方向下匀速移动 | 87.94KB |
09_01_表示画面元素的精灵Sprite和管理精灵的分组Group | 130.08KB |
09_02_通过分组更方便地绘制精灵 | 132.35KB |
09_03_通过分组更方便地更新精灵的位置 | 114.67KB |
09_04_让每个敌机精灵都被两个不同的分组所管理 | 87.52KB |
09_05_为我方飞机的尾部添加突突突的动画效果 | 100.40KB |
09_06_检测Bullet与小型敌机的碰撞(1):函数groupcollide() | 132.63KB |
09_07_检测Bullet与小型敌机的碰撞(2):获得所有发生碰撞的小型敌机 | 102.54KB |
09_08_检测Bullet与小型敌机的碰撞(3):小型敌机被Bullet击中后播放爆炸的声音 | 141.27KB |
09_09_检测Bullet与小型敌机的碰撞(4):小型敌机被Bullet击中后播放爆炸的动画 | 158.31KB |
09_10_检测Bullet与中型敌机的碰撞(1):实现Bullet与小型敌机的碰撞效果 | 261.93KB |
09_11_检测Bullet与中型敌机的碰撞(2):中型敌机被Bullet击中n次之后才会爆炸 | 232.56KB |
09_12_检测Bullet与中型敌机的碰撞(3):中型敌机从画面中出现时其尾部上方显示能量 | 346.24KB |
09_13_检测Bullet与中型敌机的碰撞(4):中型敌机被Bullet击中后显示能量的变化 | 309.24KB |
09_14_检测Bullet与中型敌机的碰撞(5):中型敌机被Bullet击中后播放动画 | 242.39KB |
09_15_检测Bullet与大型敌机的碰撞 | 715.06KB |
09_16_为大型敌机的头部添加移动时的动画效果 | 758.96KB |
09_17_检测我方飞机与敌机的碰撞(1):函数spritecollide() | 807.27KB |
09_18_检测我方飞机与敌机的碰撞(2):通过回调函数定义碰撞的规则 | 895.49KB |
09_19_检测我方飞机与敌机的碰撞(3):敌机碰撞后播放爆炸的声音和动画 | 764.76KB |
09_20_检测我方飞机与敌机的碰撞(4):我方飞机碰撞n次后游戏结束 | 762.56KB |
09_21_检测我方飞机与敌机的碰撞(5):可视化我方飞机的生命数 | 816.54KB |
09_22_检测我方飞机与敌机的碰撞(6):我方飞机在碰撞后的一段时间内处于无敌状态 | 765.83KB |
09_23_检测我方飞机与敌机的碰撞(7):我方飞机处于无敌状态时在窗口中绘制提示文本 | 2.28M |
09_24_检测我方飞机与敌机的碰撞(8):游戏结束时在窗口中绘制提示文本 | 2.25M |
10_01_定时创建一个Bullet补给并从窗口的上方向下匀速移动 | 2.26M |
10_02_检测我方飞机与Bullet补给的碰撞 | 2.33M |
10_03_检测双发Bullet与小型敌机的碰撞 | 2.33M |
10_04_检测双发Bullet与中型敌机或大型敌机的碰撞 | 2.34M |
10_05_定时创建一个Bomb补给并从窗口的上方向下匀速移动 | 2.35M |
10_06_可视化我方飞机的Bomb数 | 2.62M |
10_07_按下空格键后我方飞机发射一颗Bomb | 2.43M |
10_08_检测我方飞机与Bomb补给的碰撞 | 2.45M |
11_01_在控制台打印当前得分 | 2.44M |
11_02_在窗口的左上方实时显示当前得分 | 2.45M |
11_03_在窗口的左上方显示Highest得分 | 2.45M |
11_04_退出游戏时判断是否将当前得分保存为Highest得分 | 2.45M |
11_05_在窗口的左上方实时显示当前关数 | 2.45M |
11_06_根据当前关数更新所有敌机和补给的速度 | 2.45M |
12_01_为游戏添加背景音乐 | 2.76M |
13_01_暂停游戏和重新开始游戏 | 2.78M |
资料名称 | 文件大小 |
---|---|
01_01_说在前面的话 | 637.17KB |
02_01_为什么需要虚拟环境 | 1.58M |
03_01_确定当前Python解释器对应的Python安装目录 | 474.12KB |
04_01_安装virtualenv | 139.18KB |
04_02_使用virtualenv的第1步:创建虚拟环境 | 903.02KB |
04_03_使用virtualenv的第2步:激活虚拟环境 | 842.48KB |
04_04_使用virtualenv的第3步:在虚拟环境中进行操作 | 304.39KB |
04_05_使用virtualenv的第4步:反激活虚拟环境 | 879.92KB |
04_06_使用virtualenv创建虚拟环境时指定可选参数(1) | 221.74KB |
04_07_使用virtualenv创建虚拟环境时指定可选参数(2) | 196.57KB |
04_08_使用virtualenv时的项目交接 | 293.23KB |
04_09_在PyCharm中使用virtualenv | 172.31KB |
05_01_virtualenvwrapper的概述 | 147.29KB |
05_02_安装virtualenvwrapper | 203.47KB |
05_03_使用virtualenvwrapper的第1步:创建虚拟环境 | 348.45KB |
05_04_使用virtualenvwrapper的第2步:激活或切换虚拟环境 | 308.50KB |
05_05_使用virtualenvwrapper的第3步:在虚拟环境中进行操作 | 370.81KB |
05_06_使用virtualenvwrapper的第4步:反激活虚拟环境 | 255.15KB |
06_01_pipenv的概述和安装 | 257.75KB |
06_02_使用pipenv的第1步:创建虚拟环境 | 398.97KB |
06_03_使用pipenv的第2步:激活虚拟环境 | 229.04KB |
06_04_使用pipenv的第3步:在虚拟环境中进行操作 | 586.14KB |
06_05_使用pipenv的第4步:反激活虚拟环境 | 260.17KB |
06_06_使用pipenv时的项目交接 | 207.14KB |
{{ starInfo.score }}