python学习一定用pycharm吗?

论坛 期权论坛 金融     
期权匿名问答   2022-7-7 00:26   2472   5
pycharm都是收费的吗?
分享到 :
0 人收藏

5 个回复

倒序浏览
不一定非要用pycharm,pycharm一共有三个版本:
社区版是免费的,但是没有web开发、Python Web框架、Python分析器、远程开发、数据库支持与SQL等功能
教育版是免费的,顾名思义是教学用的,支持学校的教学工作,是在社区版的基础上开发的,包含一些课程
专业版则没有以上的困惑,可以尽情的使用
除了pycharm之外还有几个不错的IDE,个人比较喜欢VS code,原因有以下几点:
免费使用,没有各种幺蛾子;
操作界面简单,毕竟office一家的,用起来跟word之类的蛮像的;
有丰富的扩展可供选择,经过扩展之后,能够实现:个性化设置、支持python、支持web等各种常见的功能;
支持git,GitHub的重要性就不多说了;

  • VS code的主要界面如下图所示:


2. git管理代码功能


3. debug运行,对代码进行调试的功能。


VS code的安装以及各种功能介绍,还有主要的拓展功能该如何选择,推荐你看下这篇文章,一篇文章让你完全掌握VS code的使用。
VS code这一篇就够了—让python编程更丝滑(好用的编辑器)
关注我 @风翼之痕 了解更多关于python学习的知识和方法
另外,如果你还是在Python的初学阶段的话,推荐你看下,尚硅谷的python学习视频,讲解基础细致,由浅入深,循序渐进,能够更好帮助你入门python。点击链接可以直接观看
Python 核心基础 - 知乎
不仅仅是学生在用pycharm, 我在奔驰、OPPO的时候身边的许多算法工程师也都在用Pycharm,而且我最近刚刚开源的一款自动驾驶仿真架构(GitHub - ucla-mobility/OpenCDA: A generalized framework for prototyping full-stack cooperative driving automation applications under CARLA+SUMO.)也是在Pycharm下完成的。可以说这是一款老少皆宜,童叟无欺的良心IDE! 已经有很多答案做了Pycharm和其他ide的比较,这里我着重讲一下不同阶段的Python写手都能用到Pycharm哪些强大的功能
写Python 3天


  • 虚拟环境选择。 通过 File->settings->Project Interpreter, 你可以一键选择你要做的项目的python虚拟环境,它可以是conda环境,可以是virtualenv, 也可以是系统自带的python。
2. 语法错误标错与高亮。新手初学python经常会犯的一些低级错误Pycharm都可以自动检测,并且告诉你哪里出错的原因是什么。如下图的代码所示,该代码犯了数个新手常犯的错误,比如indent没有对上(b=2 和 a=1没有对齐);  for循环的in后面必须跟着一个iterable的变量,而这里却给了一个整数; c被赋值了一个从未出现过的变量empty;  d=10这行代码是无法被reach的。而这些错误都被Pycharm标了出来,如果你把鼠标放到对应语句的旁边,还会告诉你错误出在哪(比如图中所示 Expected 'collections.iterable', got 'int' instead)。


3.  语法自动补齐与提示。新手在调包时,很多时候会忘记某个函数I的具体名字以用法,而Pycharm就能在你打了一两个关键字后便帮你找到完整的函数,并提醒你该函数需要哪些输入。以下图为例,用户想使用numpy的concatenate功能,只打了一个字母c Pycharm便找到了对应的函数(下图一)。当用户还在思考这个函数需要什么输入时,Pycharm便已经提示了出来(下图二)。这个功能十分强大,可以说是核心功能之一,它可以大大增加你的效率。




4. 函数自动跳转功能。只要对着函数按住ctrl+鼠标左键, 就会跳到该函数的源码处。



OpenCDA代码展示

5. 自动修正格式功能。新手在写python时很多时候会不注意整洁的格式,譬如等号后面不加空格,一行代码过长等等,用ctrl+alt+enter可以瞬间让你的代码整齐许多!



图片来源:pycharm官方博客

6. 自动安装与引用library. 当你想用到某个python第三方库的函数,却还没有引用/安装该库时,Pycharm可以自动帮你安装并引用该库,你只需要按一下 ALT+ENTER!


写Python 3个月

一般Python写了三个月之后,会开始上手一些稍微复杂的项目,这个时候代码结构会变得复杂,开始容易出现一些比较难找的bug, 代码文档的整洁也变得重要,而Pycharm的一些更高阶的功能可以很好地应付这些问题。

  • debug功能。这个功能在我看来是Pycharm里最核心的一个feature. 你只需要在你的代码左边轻点一下,便会出现一个红色按钮(下图中左侧红圈内的按钮),表示程序运行时会停在该行代码处,再按一下右上角的昆虫标志的图标(上方画红圈的地方),便轻松的进入了debug模式!



图中代码来源: OpenCDA

   当你进入debug模式之后,可以逐行运行代码,同时看到所有的变量的数值,甚至可以改变变量的数值。我平时照着源码读论文时经常通过看矩阵变量的shape来帮助自己理解算法。



如图所属,程序里所有变量数值都被展示出来了

另外,debug模式还支持条件断点,即只有在满足你所设定的条件下,程序才会停在你所设定的代码处。如下图所示,在debug的红点处点击鼠标右键,即可输入条件。在我给定的这个例子里,只有在变量 apply_ml  为True时,程序才会停在你标定的那行代码上。这个功能在你debug程序异常表现时尤其有用。


2. Python风格规范。docstring的风格一致、格式规范在你参与开源项目时是十分重要的,而Pycharm支持你设定多种风格(常见的有Google style, numpy style等等),并且可以根据你的函数定义自动生成docstring模板,会帮你省去不少时间。如下面动图演示,只要你在函数下面打印六个 "  , 再按下回车,docstring模板就立刻生成了!



图中代码来源: OpenCDA

另外有些小伙伴可能会注意到,Pycharm界面中间有道竖着的白线,这个线就代表着你一行代码最大的列数,一旦你有某行代码过长,它会提醒你注意换行保持代码整洁。这个最大的列数也是可以设置的,通过Settings->Editor->Code Styple->Hard Warp at框中的数字改变,我一般会设置成79,与flake8保持一致。
3. 自动检测Parent class成员变量。Pycharm里还有一个很实用的feature, 当你class child继承了另一个class parent后,你在child class编写任何函数时,Pycharm可以自动探测到parent的成员变量和函数,方便你直接引用。
写Python 3年

对于已经写了三年的老鸟来说,参与开源项目或者较大规模的工业项目已经算是家常便饭了,这个时候单元测试、git版本管理、代码效率提升也变得十分重要。

  • 一键单元测试。将你所有的单元测试代码都放到test目录下,点击右键便可以选择运行/debug你所有的单元测试。测试的结果与中间log信息都会被详细地展示在console里。


2. Git管理。如下图所示Pycharm会自动将你自上次commit以来的变动标出,蓝色代表你的这行代码较以前有所改变,绿色代表这是新的一行代码。同时Pycharm的工具栏上侧有个git选项,可以在里面找到各种常见的git操作,例如merge, commit, rebase等等, 甚至还可以比较当前版本和某个commit版本的不同,妈妈再也不用担心我忘记指令了!




3.  Profile功能(Professional版本才有, 学生可以拿到免费License: Free Educational Licenses - Community Support)。Pycharm的profiling可以分析每一个module的呼叫次数,运行时间,并且给出一张完整的函数调用流程图,有助于用户很好地分析程序瓶颈究竟在何处。



模块运行时间分析表格



关系分析图

写在最后:强烈建议用Pycharm时换成黑底白字保护眼睛,用白底时感觉要累瞎狗眼!
偷懒直接用 pycharm 最好,新手也不建议折腾。其实自从微软搞了一个老色批 LSP(Language Server Protocol)
Language Server Protocol之后,很多流行的编辑器比如 vscode,vim/neovim,Emacs 你都可以安装对应的 lsp 插件,基本的补全、跳转、查找引用等功能都有了,一般开发完全是够用的。甚至你可以安装对应语言的 lsp 插件实现一个编辑器编写很多编程语言。比如笔者日常撸 go/python 等都是在一个编辑器(neovim)上安装对应的插件就可以完成的,也不用来回切开发工具了。
PyCharm是真的好,尤其是适合大型项目。但除此之外,我也想强力推荐Spyder作为配套编程IDE。作为一个开源老铁,今天我给大家简单介绍一下如何使用两者中的功能进行高效开发。
我个人的经验:初期开发用Spyder,调试、debug和部署用PyCharm搭配起来,效率加倍!
Spyder的编程界面最重要是啥,就是右边红框里面的变量查看的部分。你可以一段一段的运行程序,也可完整的运行,而中间产生的变量值都可以在这个变量窗口查看。



Spyder中的变量查看功能

其中绝大部分变量都可以通过双击打开查看具体数值,比如我可以双击查看一个numpy数组中的每一个值。而且这个变量查看还支持修改数值和多开,非常适合debug。


同时它像Jupyter notebooks一样,还可以分段运行代码(开头加上#%%即可)


所以在我看来,Spyder非常适合初期进行开发,可以进行快速的迭代,尤其是内置的变量查看功能。
而当我完成Spyder上的开发后,就会转向使用PyCharm进行项目管理。我自己常用的Pycharm的功能包括:
1是GitHub进行连接,方便进行版本管理。当我们在PyCharm里登录GitHub后,就可以完成各种需要在命令行的操作,比如commit的时候可以更方便的查看修改的部分并进行对比。在push和pull的时候也可以更方便的解决conflict。



PyCharm中的GitHub相关功能


2是运行单元测试。使用PyCharm可以很简单的运行所有test文件夹下单元测试,并获得对应的结果。就像下图中所示,只要点击一下Run即可,且对每个test都有对应的结果,可以看到错误信息。





PyCharm中会显示每个test的状态的失败原因

3是可以进行复杂的debug和profiling(分析代码的运行时间),如果是debug的话每一步都可以查看中间变量。


而在profiling功能中,我们可以得到每个模块运行所需的时间,找到程序的瓶颈(会生成dependency graph)进行优化。



使用profiler分析代码的时间开销

除此之外,很多人都可能还没体验过ctrl+alt+l自动对代码格式进行调整,从而符合PEP8的标准。感兴趣的小伙伴还可以试试inspect code功能,能找到很多代码中不规范的地方进行进一步优化。



PyCharm中提升代码格式的工具

最后的最后,Spyder是免费的开源软件(集成在Anaconda里面),而PyCharm对学生开放免费的专业版。



Spyder集成在开源的anaconda中



PyCharm对于学生、教育工作者提供专业版
看你需求,如果你像我一样做学术,有轻度做项目的需求,那么相信我,VS Code太香了。
比方说,你要的一个research,我可以在VS Code一边开一个Python文件跑代码,一边开一个Jupyter Notebook做数据分析,一边开一个LaTeX写论文,最后说不定还会再开一个beamer做PPT。所有的这些工作,你在一个工具里搞定,香不香?
比方说,你要写个网站,全栈的你可以Html/JS/CSS/Python一个工具搞定,香不香?
VS Code还给你集成了Git
关键是,有什么需求你随时可以自己实现出来
你甚至还可以上班的时候装个浏览器在VS Code摸鱼(这句划掉)
当然我说的这些Notepad++也可以做到,Sublime也可以做到,关键VS Code的Extensions真的太丰富了
反正编辑器问就是VS Code
但是要是真的重度需要一个集成开发环境自然还是PyCharm
小更一下,推广一下 @牛岱 大佬的VS Code extension,在VS Code,你甚至可以逛知乎!(在VS Code,你甚至可以写代码!)(这句划掉)。我在上次的回答关于对数回归的量纲问题。?里试用了这个extension,详见:牛岱:知乎 on VSCode 来临 - 重新定义内容创作!
之前的回答所有公式都是知乎编辑器手打,给我累成狗,所以各位知友特别是理科答主请不要错过这个插件(真的没收钱2333)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:391142
帖子:78229
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP