一个合格的 Python 程序员应该具备怎样的基本能力?包括哪些具体方面?

如题

回复内容:

一百多人关注这个问题,没有一个人来回答。给了我一个抛砖引玉的机会。

首先一个合格的 Python 程序员是一个很模糊的概念,并没有一个量化的标准可以检测每个人的技能水平,每个人对于合格的定义也不一样,我自己心里面也没有对合格有一个准确的标准。我大概说下自己对于 Python 技能成长的阶段吧,因为是从创宇出来的,所以其实也是拾人牙慧,从老杨那边偷来的。

0. 听说过 Python。

听说过 Python 这门语言,知道哪些公司(Google,Dropbox,Douban)在用他,可以用 Python 做哪些东西(Web开发,科学计算,日志处理,平时的脚本)。

1. 用过 Python

使用 Python 写过一些简单的东西,比如写一个简单爬虫,爬取自己想听的音乐。
大概的标准就是写过一些小工具,但是对于 Python 还不是特别熟悉,参考文档能写写东西。

2. 会用 Python

对一个项目,能够用 Python 快速完成,在上一个(用过 Python)基础上,使用 Python 的次数有一个增加,可以说成是会用 Python。
对于 Python 的常用库都有一定的了解,对于 Python 的一些缺陷能够了解并且避免。比如被人诟病的多线程,在什么情景下可以使用 Python 的多线程?

比如列表的性能开销略大,有些时候可以用数组来代替?

比如操作dict 的时候尽量用迭代器?

3. 熟悉 Python

熟悉 Python,了解 Python 的缺陷,并且知道为什么有这种缺陷。
熟悉 Python 大概就是在`会用 Python` 的基础上,不仅仅是 `know how`,还要 `know why`。

对 Python 的运行机制更加了解,为什么 CPython 被人说慢,而 PyPy 更快?

为什么使用 list 对内存开销那么大?

了解 Python 的内存管理以及垃圾回收的细节?

4. 精通 Python

接触的人中,我认为可以说是精通 Python 的真是少之又少。Q.yuhen 算是一个。
所以这一部分没法写,我得等我敢跟人吹牛说自己精通 Python 的时候,再回来补充一下什么叫精通。

先写到这里,要干活了。

按照上面说的达到会用 Python 大概可以称之为一个合格的 Python 程序员。

—————————————————————————————–

到家之后给猫洗了个澡,太残忍了。

上面列出的仅仅是对于 Python 的进阶,但是在正常的工作过程中,仅仅专注于一门编程语言而不了解其他的东西,很难完成日常的工作,所以一个合格的 Python 程序员,除了在对于 Python 的了解比其他的要更好之外,还需要掌握其他的技术:
操作系统TCP/IP 等网络协议知识
数据库算法等等等等上面罗列出来仅仅是我想到,觉得自己需要去完善的知识面,至于一个 Python 是不是要全部了解,我也不能给出合理的说法,毕竟每个人的工作场景不同。还是希望有前辈或者后浪,来给出一个精彩的答案。python应用这么广,每个领域都要求不一样。对于数据挖掘、机器学习这块,pandas、numpy这么优秀的文档至少要读过几遍,groupby、apply、merge总要会用,处理数据的时候能少写多少个for。进一步,sklearn的文档写的图文并茂,读起来通俗易懂(统计蓝,表示R的文档看的我心伤~)。说这些都没啥用,赶紧做个东西,入坑先。用Python通关(或暂时通关)几个OJ,绝对是精通使用Python的最快路径.
逼着你去竭尽全力优化代码效率,完善程序结构,无尽的NA尝试可以让你把python的内部原理都猜个八九不离十

另一方面,OJ可以把Python运行效率低下的缺点暴露出来,比如同样一个没经过优化的算法,用C/C++,可以在700ms内跑完通过OJ,但如果是Python来做会需要更多的时间比如5s,于是超时TLE,Python不得不寻求更快的算法来AC,所以用Python也是提高算法水平的最好选择。由于人的惰性,用C的普通算法过了OJ就不去考虑优化和改进原先的算法,这样会就错失很多提升算法水平的机会。The Hitchhiker’s Guide to Python!能完成任务,能完成需求,能提出解决方案并实现完成,这个是一个程序员应该具备的基本能力
Python程序员也不能例外一眼看出行缩进值

给你一个通用性的参考。

首先是硬知识:
语言应用要熟练,特别是调试和排错。这是写代码的基础。
类库的选择和可用性判断要有经验,这是加速开发,偷懒的关键。
OS相关的文件系统,UI知识要熟悉,这是做UI和部署等基础。
网络相关知识要精通,现在大部分软件都和网络有关,不懂不行。

接着就是团队合作,学习能力这些软实力了。

高大上的东西,留给别人说吧,我就说几个小点吧。

不这么写:

from xxx import *

登录后复制

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2301390.html

(0)
上一篇 2025年2月28日 05:31:29
下一篇 2025年2月28日 05:31:46

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 怎样用H5的WebGL实现3D虚拟机房的漫游动画

    这次给大家带来怎样用h5的webgl实现3d虚拟机房的漫游动画,用h5的webgl实现3d虚拟机房的漫游动画的动画有哪些,下面就是实战案例,一起来看一下。 第一人称在 3D 中的用法要参考第一人称在射击游戏中的使用,第一人称射击游戏(FPS…

    编程技术 2025年3月29日
    000
  • font-weight:blod的跳动问题怎样用CSS解决

    这次给大家带来font-weight:blod的跳动问题怎样用css解决,font-weight:blod的跳动问题用css解决的font-weight有哪些,下面就是实战案例,一起来看一下。 需求:实现鼠标悬停在链接上时,链接字体加粗的功…

    编程技术 2025年3月29日
    100
  • HTML5 Canvas实现360度全景方法

    本文主要介绍html5 canvas实现360度全景图的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 很多购物网站现在都支持360实物全景图像,可以360度任意选择查看样品,这样对…

    编程技术 2025年3月29日
    100
  • H5移动端页面点击input重复弹出键盘的实现方法

    本文主要和大家分享h5移动端页面加入canvas可滑动代码条件下android手机点击input重复弹出键盘,在移动端页面使用canvas的动画,为了实现动画的触摸滑动,会加入createjs.touch.enable(stage, tru…

    编程技术 2025年3月29日
    100
  • JS代码实现瀑布流插件

    瀑布流布局中的图片有一个核心特点—等宽不定等高,瀑布流布局在国内网网站都有一定规模的使用,比如pinterest、花瓣网等等。本文主要和大家详细分析了一个原生js实现瀑布流插件以及代码相关讲解,对此有兴趣的读者们参考学习下吧,希望能帮助到大…

    编程技术 2025年3月29日
    100
  • HTML5plus移动应用的开发实例分享

       什么是 html5plusdcloud 公司提供的,使用传统 web 技术开发移动应用的解决方案。本文主要和大家分享html5plus移动应用的开发实例分享,希望能帮助到大家。 增强版的手机浏览器引擎,让HTML5达到原生水平! 产品…

    编程技术 2025年3月29日
    100
  • HTML5Plus移动开发入门学习

    html5plus即 html5+,核心中的核心,调用原生能力的依赖。在 5+app 的开发中,在原有 web 开发基础上,开发者需要重点掌握的就是这个 api 规范。 HBuilder DCloud 前端开发的 IDE,代码提示这些功能真…

    编程技术 2025年3月29日
    100
  • 分享一个HTML5Plus移动应用

    什么是 html5plus 移动应用html5 plus移动app,简称5+app,是一种基于html、js、css编写的运行于手机端的app,这种app可以通过扩展的js api任意调用手机的原生能力,实现与原生app同样强大的功能和性能…

    编程技术 2025年3月29日
    100
  • H5页面中尝试调起APP实例代码

    本文主要和大家分享h5页面中尝试调起app实例代码,希望能帮助到大家。 市面上常见的功能 这种功能现如今应该非常普遍了,淘宝H5,知乎H5等等。。。 点击后会调起APP或者打开下载页面或者直接进行下载。 但是我这里发现知乎的这个功能有点不一…

    2025年3月29日 编程技术
    100
  • H5开发视频遇到的问题及解决方案

    最近做了一些嵌入视频的活动,积累了点视频方面的经验,下面记录下别人和自己踩过的坑以及相应的解决方案。1、碰到问题和解决方案1.1、ios 网页中播放视频默认全屏(点击视频会弹出播放器进行全屏播放)。解决不全屏播放可以添加下列属性webkit…

    编程技术 2025年3月29日
    100

发表回复

登录后才能评论