更多课程 选择中心


Python培训

400-996-5531

听资深Python老师谈Python编程,悟零基础如何学Python!

  • 发布:Python培训
  • 来源:达内Python人工智能
  • 时间:2019-01-18 15:21

今天我们想要跟大家聊聊零基础如何学Python、Python如何进阶、如何准备Python面试等相关的内容,而且是资深的Python老师跟你聊,学Python不知道的看什么书、不知道去哪个网站、不知道关注哪个公众号.......这里统统告诉你!

零基础如何学Python

“人生苦短 我用Python”。我们精选出很多同学学习Python会遇到的问题,请资深的Python老师帮助你更进一步认识Python,从而更好地学习Python。

董伟明,《Python Web开发实战》作者。之前做过运维,运维开发,现在是在豆瓣任职高级产品开发,主要负责豆瓣读书、电影、音乐、东西等产品线。

问:请老师先谈谈Python如何进阶这个话题吧。

答:我最近在刷知乎,回答过一些问题,大家有空可以去翻翻。进阶就是一点点的积累,首先不要不舍得花时间。你要舍得花时间。个人很推荐读优秀的开源项目源码 以及自己「造轮子」这2种方法。这个过程中不断的反思和积累各种经验。有了问题就要google stackoverflow github 去找。

其次是看别人的博客,多看书。但是要掌握一些过滤不好信息的技巧。有些订阅列表 我在专栏中也有写。大家有空可以去看看。我还订阅了python社区的一些邮件列表,说实话很烦。但是有时候你们看到一些社区开发者讨论,甚至是激烈讨论。我喜欢静静的看他们,学习他们对一些事情的看法,和思考的角度。

还有就是去看python标准库的代码。我还没有看过Python的C的部分。剩下的就是有勇气给开源社区提一些issue pr。

问:如果初级、中级、高级Python工程师分的话,你认为各自水平的工程师应该掌握哪些语言特性和用法?

答:根据我的理解,初级的基本就是够工作,那买 python 的书看2,3本,(掌握)里面的50%,熟悉Python常用的模块,就可以工作了。

中级,就是愿意花时间让代码写的好一些,比如今天学习了元类,用上。明天觉得类装饰器不错,也用上,不考虑用的恰不恰当,基本Python用到的东西都「熟悉」。

高级就是明确的知道什么时候该用什么,什么场景该用什么,怎么用。恰到好处。

问:董老师,你好,在公司实际的项目开发中,有些新人是Python基础功夫蛮好,各种 Python 试题都能回答的不错,但是遇到实际项目开发,只管当前跑通,但写程序整体观总是比较欠缺,功能耦合越多的时候,问题就会越积累越严重。搞的后来几乎每个模块都要重构过。这个你觉得是属于能力问题?还是态度问题呢?

答:我觉得这是一个工程师必进之路吧,前提是你知道它有问题,这很重要。有时候产品不是一个工程师能决定的,这个真靠个人节操了。知耻才能后勇。我以前也是,现在你让我看 2 年前的代码,我也不想承认那是我写的。我希望 2 年后我看今天的代码,也有这种感想。领导很重要,公司文化和团队文化很重要。

问:总感觉写代码没头绪呢?

答:逼自己,从 0 到完整干个大活儿 比如自己写个知乎。

今天说几点,第一是一定要按照 PEP8 来,团队可以有妥协,大家同意即可。第二是尽量让代码写的 Pythonic 。这个是一个很长期的过程。

接着你有兴趣,你得各种方式影响别人,说服别人。这个是非技术能力了。注意表达的方式方法,比如不要指点,而是在咨询。有时候气氛不好了,发点搞笑图片。自己的话,本地可以试试 pre-commit 。可以让你的编辑器支持代码自动执行 flake8 。

问:除了纯做技术,还有其他的职业规划吗?

答:当你发展到一定地步,就会遇到瓶颈,有的选择做管理。有的说我要换个语言,比如不做产品开发,去做ios开发。当然最多的还是离开,换个新环境。这个还是看个人兴趣,我无法给建议啦。

问:刚才董老师聊到如何进阶时提到自己造轮子,目前至少有两个小伙伴希望就这方面多了解一下。能否详细说下具体的经验和方法?

答:造轮子嘛,2个原因,一个是现在的东西不满足你的需要,或者你不喜欢;第二个是你就是为了学习想造。这2点都是✔的。

我一般造轮子是因为要学东西,比如最近我在写一个应用,最近几天就可以出了。是因为我们组的用法一直是 react+redux,但是我不喜欢 redux,正好听人推荐,想用用 mobx ,通过做项目真的深入了解它。

「造」嘛,其实不是抄袭,比如知乎,经常用,大概他是什么也就是知道了。但是实际真的做出来很难。你要解决的问题可能千个。真的把它造出来了,对你的技术提高,对web开发的理解有非常大的提升。

假如担心知乎这个活太大,可以简化需求的。比如不要搜索。只用 oauth 登录。你就是一个产品经理+开发+测试+运维。而且说不定,会火。

但是最后也就是 5% 的人能坚持下来。但是再造一个就没意思了。比如 你可以用 go 做个豆瓣。

问:前端开发和 web 开发一样吗?

答:在豆瓣不一样,但是是重合的,比如我们组内的前端工作都是我们组的后端工程师消化。我们组的前端实力灰常强。

问:如果是学习 web 应该造什么是有帮助的呢?

答:学习 web 那肯定是自己从零做一个功能齐全的网站。

问:很多人想了解下,Python web 开发方面,框架如何选择?django or flask?如何学习框架?学完是不是就可以工作了?

答:我个人不喜欢django, 这句话,大家谨慎的看。这个和个人写代码,或者性格有关。我不喜欢耦合度太高,束缚太重的东西。

有人说 django 是企业级的,其实 pyramid 更合适。我们组现在有一些产品就是使用 pyramid 做的。我挺喜欢。但是不推荐,因为对新手不咋友好。

django 还是 flask, 我没法建议。但是新人学习建议 flask,学的差不多了(如果工作中有用 django 更好,没有的话自己学些),自己给自己个答案。但是离找工作还挺远的。

框架只是一个工具而已。就算是 django, 吭哧吭哧一个月你也能学个差不多。关键还是使用 python 的熟悉程度,还有对 web 开发工作的经验了。

问:老师,怎样才能把代码写的 Pythonic 呢?

答: Pythonic 没法帮你,靠你积累,看别人的实现你思考,自己不断地对自己有要求,比如效率,比如代码可读性。

问:老师,什么程度适合看你刚出的书?

答:用 Python 写过代码,基本就可以,其实书不难。

问:董老师,你觉得 requests 作者代码什么水平?

答:requests 的作者在我心中是大神。flask 的作者次之。https://github.com/kennethreitz ,就是这个帅哥。他的代码写的风格是我喜欢的类型。我好多代码用法和习惯,都是看他的代码获得的灵感。celery 和 fabric 的作者,也很厉害。

程序员才是最牛逼的潜力股!一个胖纸到男神的蜕变之路:本文介绍了 requests 作者从胖子到男神的蜕变之路。

问:Python Django学到什么程度能找到一份实习岗位?怎么写一份python web开发的简历呢?这种岗位哪里比较多?

讲师:通过django学习python的web开发是比较好的选择, 因为django几乎会涉及web开发的所有功能, 这些功能能让你快速理解开发一个web系统需要什么知识。

1. 对个一个需要找工作的人来说, 学到什么程度才能找到工作真的无法描述出来, 但是一定要明白, 对于没有工作经验的人来说,项目经验是最重要的, 只有真正做过项目的人才能明白要想做出一套web系统需要的知识除了框架本身之外还需要计算机网络等知识, 比如cookie和session的使用,这些知识都是开发过程中会遇到的问题。经历过一个完整的项目你才能明白django中为什么会有model, view,form, url和templates以及为什么要将这些独立成各个模块。通过项目将所有知识点串联起来才是最好的学习方法。

2. python的web开发简历中你需要写清楚两点:

你使用的技术是什么 ?项目中你负责的是哪一部分?

第二点非常重要, 比如你最好写清楚你使用了view里面的什么逻辑, 你设计的model的具体业务是什么? 你使用的django form解决了什么问题?

3. python的开发工作目前在北京最多, 上海,成都, 深圳, 杭州等都有python的web开发工作。

4. python的web开发岗位你不一定非要投递那种明确写明了django的职位, 你也可以投递写明了python web开发的岗位。如果简历筛选过了说明对方对django是有需求的。只需要准备好django的基础知识就行了。 有了django基础学习其他框架会比较简单

问:董老师,招聘会看学历这方面的吗~

答:豆瓣招聘会么? 我没参与过。据我了解,只要够厉害,学历不重要。比如我是专科 非计算机专业。

问:所以作为一个非计算机专业的学生,然后要达到什么标准才可以找工作?需要拿的出手项目?但是一直是个人学习,学习里面,团队要么搞安卓,要么搞 ios,这样让我们这些人很难看到希望。

答:我先说其他方面,有时候看机会,看运气,甚至面相。对你深爱的东西要坚持就对了。

一定要有目标,再说工作。你说你要找个一个月 3k 的工作,不用学。你说你想找个月薪 2w, 名企,你就要有配得上能力。

我去豆瓣之前做了很多铺垫,并不是想当然就去面试,而是为了那个机会准备了一年。念书时,不要辜负那段时间,做点有用的项目。多学习算法,linux,SQL,Python(其他语言也行)。

下面给大家列出《Python 零基础入门资料清单》,入门的同学可以跟着一步一步来学。

图文教程:

Python教程 by @廖雪峰

Crossin的编程教室 微信公众号:crossincode by @Crossin

Python快速教程 by @Vamei

零基础学Python,GitHub地址 by @老齐Py

Python学习笔记(第二版) by @qyuhen

个人点评:我是跟着“Crossin的编程教室”的微信公众号每天学习一课来学习Python的,当时的动力是据说“Python女神”也在学完习,后来也看过廖雪峰老师的教程,Vamei和老齐Py的没有看过。

网站教程:

《Python入门》 and 《Python进阶》 by @廖雪峰 from 慕课网

《"Python研发工程师"的技能树》 from 实验楼

《Learn to program in Python》 from Codecademy

《Learn Python the hard way》

Crossin的编程教室 by @Crossin (将课程分门别类了)

视频教程:

《疯狂的Python:快速入门精讲》

《玩转Python教程》

《零基础入门学Python》

经典入门书籍:

中文书籍

《Head First Python(中文版)》

Python基础教程(第2版·修订版)》

《笨办法学Python(第三版)》

《简明Python教程》

Python编程实践》

英文书籍

25本免费的Python电子书

9本免费的Python编程书

论坛or网站板块:

Python开发者门户

豆瓣小组:Python编程

伯乐在线

啄木鸟社区

Web开发者

可关注的网站:

Pythoner —— “你像从前一样”的Python学习笔记

pythontutor —— 一个可视化的Python网站,可以看出你的代码的执行过程。初学者的好帮手!

可关注的微博:

@Python开发者

@一人一Python

@Python传送门

@老齐Py

@爱可可-爱生活

日报

Python日报

最后的最后,亮出我们的口号:人生苦短,我用Python!

如果你也想入门高薪Python人工智能行业,欢迎你来到达内学习。

顺应技术趋势,学习Python人工智能拿高薪,我们为你准备了0基础免费入门课程,1月21-24日开课(共5天),名师大咖带领入门,避免走弯路。

感谢您的阅读,以上就是我们今天分享给大家的零基础如何学Python的相关内容,你都学会了吗?你知道要去看哪本书、上哪个网站、关注什么公众号了吗?更多Python相关的内容尽在达内Python培训机构官网,敬请关注!

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:零基础学习Python易错点整理
下一篇:如何快速入门Python编程?给我10分钟你就知道!

Python培训机构哪家好?如何选择靠谱的Python培训机构?

用这三个方法轻松入门Python编程!

零基础学Python,刚开始就搁浅了怎么拯救?

关于Python,这些大家都在关注...

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省