当前位置: 首页 > news >正文

Python编程工具PyCharm和Jupyter Notebook的使用差异

在编写Python程序时需要用到相应的编程工具,PyCharm和Jupyter Notebook是最常用2款软件。
PyCharm是很强大的综合编程软件,代码提示、代码自动补全、语法检验、文本彩色显示等对于新手来说实在太方便了,但在做数据分析时发现不太方便,就是有时候需要查看数据表格时,只能使用print打印出来黑白文字,输出窗口又小,看起来非常不友好,特别是数据表格较多时,密密麻麻的内容看的眼花缭乱。而且一个程序文件只能一次性从头到尾执行完,修改局部以后又要从头来一遍,如果是读取几百兆的excel文件,需要等待很长时间。在使用输出图形图表时需要调用另外的窗口。
PyCharm社区版界面:
PyCharm社区版界面

但是如果使用Jupyter Notebook却可以非常漂亮的表格形式展示原始数据,而且一次加载后,如果需要修改程序或对数据进行显示、加工,增加单元格就可以,关键是可以一个单元格一个单元格的分开运行程序,对于程序调试和数据分析非常方便。另外,在输出数据图表时,可以在代码下面即时显示,非常友好方便。
Jupyter Notebook 界面
Jupyter Notebook图文并茂的输出界面
Jupyter Notebook图文并茂的界面

Jupyter Notebook的缺点是不支持代码提示、颜色区分、语法检查等,对于不熟悉Python的新手来说,非常痛苦。而且程序被分割成一个个单元格,不太好管理。所以必须要安装代码补全插件,安装以后就可以实现代码提示和补全,大大方便了新手。

让人迷惑的是,同样的大量数据处理,使用Jupyter Notebook有时候要等很久,但是用PyCharm就快很多,搞不明白是程序的问题还是两个环境的问题。

由于Jupyter Notebook是基于Web方式,使用Jupyter Notebook可以实现在一个普通网页浏览器进行Python编程和数据分析。我们可以把Jupyter Notebook安装在一个公网服务器上,配置好后可以在任何地方通过电脑或移动设备通过网页浏览器远程编程,随时随地移动办公室,非常方便。

两者也可以相互结合,核心代码使用Pycharm编写成库文件,然后在Jupyter Notebook里通过import导入的方式进行调用。

像Google等公司还提供了直接使用、直接运行、免安装的Jupyter Notebook 服务:https://colab.research.google.com/,拿来就用,所有数据存储在云端,而且可以像其他人分享,大大降低了Python编程门槛。
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • LeetCode-随机链表的复制
  • gin框架 POST 请求参数绑定 JSON数据ShouldBind 使用注意事项 - 结构体必须定义json标签
  • 使用llama-cpp-python制作api接口
  • 力扣第十五题——三数之和
  • 基于秒杀系统的企业开发设计思考
  • LFU算法实现笔记
  • 【postgresql】pg_dump备份数据库
  • 六爻排盘 api数据接口
  • mmc-utils 的 MMC 测试工具
  • nng协议nni_posix_resolv_sysinit()系统初始化
  • iOS ------ ARC的工作原理
  • Android获取当前屏幕显示的是哪个activity
  • 访问控制系列
  • 【RPC注册发现框架实战】一个简易的RPC注册发现框架
  • Vue.js:如何区分页面关闭和刷新?深入解析与实战
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • ES6 ...操作符
  • Fundebug计费标准解释:事件数是如何定义的?
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • javascript面向对象之创建对象
  • js递归,无限分级树形折叠菜单
  • PHP的Ev教程三(Periodic watcher)
  • ucore操作系统实验笔记 - 重新理解中断
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 测试如何在敏捷团队中工作?
  • 高程读书笔记 第六章 面向对象程序设计
  • 搞机器学习要哪些技能
  • 工程优化暨babel升级小记
  • 扑朔迷离的属性和特性【彻底弄清】
  • 设计模式 开闭原则
  • 使用 QuickBI 搭建酷炫可视化分析
  • 用quicker-worker.js轻松跑一个大数据遍历
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • raise 与 raise ... from 的区别
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (windows2012共享文件夹和防火墙设置
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (原)本想说脏话,奈何已放下
  • (转)scrum常见工具列表
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET CLR基本术语
  • .Net 知识杂记
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET命令行(CLI)常用命令
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题