百科问答小站 logo
百科问答小站 font logo



python学习一定用pycharm吗? 第1页

  

user avatar   breaknever 网友的相关建议: 
      

PyCharm是真的好,尤其是适合大型项目。但除此之外,我也想强力推荐Spyder作为配套编程IDE。作为一个开源老铁,今天我给大家简单介绍一下如何使用两者中的功能进行高效开发。

我个人的经验:初期开发用Spyder,调试、debug和部署用PyCharm搭配起来,效率加倍!

Spyder的编程界面最重要是啥,就是右边红框里面的变量查看的部分。你可以一段一段的运行程序,也可完整的运行,而中间产生的变量值都可以在这个变量窗口查看。

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

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

所以在我看来,Spyder非常适合初期进行开发,可以进行快速的迭代,尤其是内置的变量查看功能。

而当我完成Spyder上的开发后,就会转向使用PyCharm进行项目管理。我自己常用的Pycharm的功能包括:

1是GitHub进行连接,方便进行版本管理。当我们在PyCharm里登录GitHub后,就可以完成各种需要在命令行的操作,比如commit的时候可以更方便的查看修改的部分并进行对比。在push和pull的时候也可以更方便的解决conflict。

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

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

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

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

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


user avatar   pegasus-wang 网友的相关建议: 
      

偷懒直接用 pycharm 最好,新手也不建议折腾。其实自从微软搞了一个老色批 LSP(Language Server Protocol)

之后,很多流行的编辑器比如 vscode,vim/neovim,Emacs 你都可以安装对应的 lsp 插件,基本的补全、跳转、查找引用等功能都有了,一般开发完全是够用的。甚至你可以安装对应语言的 lsp 插件实现一个编辑器编写很多编程语言。比如笔者日常撸 go/python 等都是在一个编辑器(neovim)上安装对应的插件就可以完成的,也不用来回切开发工具了。


user avatar   li-mu-gen-19 网友的相关建议: 
      

谢谢邀请。

北京冬奥会开幕好几天了,精彩绝伦的开幕式还时常浮现在我的脑海中……

大家心里都清楚,奥运会这种国际盛会,意义远远超出体育比赛本身。举办一次奥运会,本质上是大国综合实力的全方位体现,其中很重要的一部分就是科技实力。本次北京冬奥会确实出现了不少有趣的新技术,我感兴趣的则是云上全息通信技术让光学相关的“黑科技”得以更好发挥,比如昨天一个叫做Cloud ME(云聚)的“全息显示仓”,让国际奥委会主席巴赫出现在了2022北京新闻中心给全国观众拜年。

这个“全息显示仓”要实现的目标非常简单:让远隔千山万水(国际奥委会主席巴赫在北京、阿里巴巴CEO张勇在上海)的两个(或多个)人仿佛处于同一空间中进行交流。而且从实际的观看、拍摄与交流方面来看,对记者们来说,虽然两人都不在眼前,但效果上与他们俩站在面前几乎别无二致。

当然了,虽然新闻中名称叫“全息显示仓”,但实际上这是生活中广义上的全息,并不是物理意义上的。物理意义上狭义的“全息”是衍射成像的技术,但目前的技术还远远做不到理想的动态全息显示,这是整个光学领域圣杯级别的高难度挑战。

此次堪称黑科技的“全息显示仓”虽然不是严格的物理全息,但在立体感与真实感方面远远超出了目前普通显示屏所能呈现的显示效果。可能还有小伙伴没看现场的视频,可以看一下:

https://www.zhihu.com/video/1473958962386739200

明明这是一个显示技术,官方的名称为什么叫“阿里云聚”呢?其实这是因为,之所以能取得如此惊艳的效果,最重要的核心技术不仅仅是我们看得见的面前的这款显示屏本身,还包括我们看不到的、尤其是云端的大量黑科技。

要能够实现我们看到的这么棒的发布会效果,至少有三个方面的“黑科技”:

(1)拍摄与显示的硬件设备

从现场的情况来看,发布会现场的“全息显示仓”是一块一人多高的高清大屏幕,用于显示参加新闻发布会的两位嘉宾的实时影像,仿佛两个人都同时站在大家面前。

从官方透露的消息来看,拍摄端的硬件布置大概是这样的:

拍摄端在摄影棚内,有常规的灯光、交互提示用的电视屏。除此之外,还有一块不太常规的屏幕,那就是用于显示另外一个人的“显示仓”。而且这个显示仓的位置和角度是特意设计过的,使得望向屏幕中的人时,拍摄出来的视线恰好符合两人站在一起时的视线。如此一来,物品的交接才会显得如此自然。

(2)符合广播级稳定要求的实时通信网络

很多小伙伴可能会觉得,本质上这不就是个复杂一些的视频会议嘛,只不过级别更高、屏幕更大、清晰度更高、稳定性要求更高。非要这么说倒也没错,但是要注意的是,无论是什么技术,随着从量变到质变的过程,要解决的技术问题的数量和难度可都是非线性陡增的。要想实现类似高规格发布会的万无一失,网络传输环节要实现的保障度是远远超出大多数时候的。

比如为了能够实现发丝级的“全息复刻”,拍摄的原始画面清晰度是非常高的,如果按照传统方式传输,将挤占大量带宽,极有可能遇到网络拥堵问题。阿里云聚这次采用了一种叫作“窄带高清”的技术,能够在节省50%带宽的情况下,仍然保障画面的清晰度。

另外,即便我们使用的是运营商最高带宽的宽带套餐,日常生活中还是难免会遇到网络信号不好的情况,造成视频会议时的画面卡顿。平时会议稍微等一等倒也问题不大,但是对新闻发布会这种高级别会议,卡顿显然是无法接受的。为了能够在网络信号不好的情况下依然保持画面流程,阿里云聚开发了“弱网抗丢包”技术,能够在80% 丢包下可提供流畅通话,同等丢包环境弱网传输效率提升65%,实现良好的实施传输效果。

(3)强大的云端算法与算力

不知道大家有没有注意到,记者会现场的全息显示仓中,张勇与巴赫所处的似乎是一个封闭的空间,两个人的身后似乎有一定的纵深,墙上也有很自然的阴影效果,使得图像出现了较强的空间感。其实这种光影效果是计算机实时渲染出来的,起到了以假乱真的效果。这是需要强大的算法与计算力的。

其实需要算法与算力的远不止视频的实时渲染。比如音频的处理,我们都有过在嘈杂环境下开会的经历,要想听清对方讲话是非常困难的。阿里云聚通过亿次通话数据验证和海量历史数据回归,实现了持续进步的多场景智能降噪能力。而这同样需要算法与算力的加持。

根据研究,要想实现流畅舒适的交互效果,延时必须控制在200ms以内。

也就是说,端到端的实时传输和处理,比如音视频转码、光影渲染、音频智能降噪等等功能,都需要在200ms以内实现,这需要高效的算法与强大的算力,靠拍摄或发布会现场的端侧计算机是无法做到的。阿里云聚解决这个问题的方法是“云处理+端渲染”技术,即通过实时通信与云上处理的技术结合,解决因端侧算力受限的难题。

其实可以看得出,这次的高级别新闻发布会算是阿里云聚的一次“亮剑”:连如此高要求的场景都能hold住,其他的应用场景更不在话下。很明显,这种“宛若就在面前”的显示与交互技术,还可以应用在很多其他的应用场合,比如远程教育、虚拟社交、远程VR操控等等。而在新冠疫情的大背景下,甚至只用它来开个远程视频会,都让会议显得更温暖了呢……




  

相关话题

  Jupyter Notebook 有哪些奇技淫巧? 
  一行 Python 能实现什么丧心病狂的功能? 
  在线教育网站(Coursera、网易云课堂、腾讯课堂等)有哪些值得推荐的 Python 课程? 
  Python 语言有什么奇技淫巧吗? 
  后端领域,写java的程序员普遍比写Python和go的程序员水平低吗? 
  为什么 Python 2 和 Python 3 造就了社区分裂? 
  python setup.py data_files 设置要拷贝的文件,不能拷贝到安装目录下。要怎样解决? 
  站在 2020 年回看,如何评价 Python 2 到 3 的升级? 
  为什么人工智能用 Python? 
  学计算机的男生发这个给我看是什么意思? 

前一个讨论
二维流形中的类光曲线是否必为测地线?
下一个讨论
如何看待 ICML 2021 的录用结果?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利