Python培训
400-996-5531
今天我们想要跟大家聊聊零基础如何学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培训机构官网,敬请关注!
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved