微信公众号:当程序员以后
越来越多的同学知道我在做软件开发,想学Python,所以都来咨询我,怎么从入门到实践,所以索性今天写一篇入门的教程。再来咨询我的同学也方便一些。
Python学习
Python 语言的学习,我在之前我推送过一篇Python文章Python那么火,我只推荐这两本书,推荐了「Python编程从入门到实践」这本书,学习这本书你就可以开发日常小程序了。
其次开发环境,Sublime,Vim,Atom,VScode,Pycharm随你,但是我强烈推荐用Pycharm,熟练之后配合Vim,方便而又快捷。
HTTP协议
为了开发Web应用程序,光是Python方面知识还是不够的,我们还需要很多东西,比如我们访问 baidu.com 怎么返回内容给我的,这里面经历了什么,这里面需要我们的计算机网络方面的知识,其中主要需要了解HTTP协议。
我推荐两本书「图解HTTP」,「HTTP权威指南」大家可以去了解下,第一本较简单图非常多。
第二本讲的较详细如指南一般各个方面都有涉猎。
前端知识
另外Web开发过程会用到一些前端开发知识,比如html,css,大家可以去看看「Head First HTML与CSS、XHTML」,另外「Head First」系列的书都比较不错,讲的很容易让人理解,大家买书的时候可以优先考虑下。
当然你也可以直接看MDN上面的内容,也是非常简单。
https://developer.mozilla.org/zh-CN/docs/Learn
Django/Flask/Tornado框架
由于是Web开发,我们需要一个快速开发的Web框架,来加快我们开发应用的速度。
这里我推荐Django,原因无他,功能强大,使用人最多,有很多成熟的工具套件,由于Django发展较快,一直没有一本非常好的书来指导,建议大家看官方文档就好。在「Python编程从入门到实践」里面有相关的Django项目了。
当然也有同学喜欢Flask,Tornado等框架的轻量简洁等,如果喜欢Flask方面的话,下面这本书是不错的,记得买第二版。
数据库
使用了开发框架之后,我们需要把我们数据存储起来,那么我们需要数据库,数据库方面首要推荐关系性数据库MySQL,你也可以用非关系型数据库MongoDB等等。
这里我推荐一本「MySQL必知必会」,感兴趣的同学去了解非关系型数据库,其实我个人工作中使用Nosql更多一点。
单元测试
开发之后我们需要进行测试,我们可以利用Django自带的Unittest,配合coverage可以看到测试覆盖率,当然这个过程你可能需要mock来进行模拟数据测试,有了测试猜可以保证你的代码质量和功能完备性,从入门到进阶必备的,虽然是入门文章,但还是希望一开始能养成习惯。
这里面推荐一本书「Python Web开发 测试驱动开发」。
版本发布部署
代码开发完成之后,我们怎么把我们代码「发布」到线上服务器呢?这里我们需要学习了解一下Fabric或者Ansbile,SaltStack这一类自动化工具。
代码发布到线上服务器了,我们服务器怎么才能跑起来呢?
那么我们需要了解一下Linux服务器配置部署,Linux方面资料,这里面推荐由happypeter翻译的「The Linux Command Line」中文「快乐的Linux」命令行(关注我的公众号,回复Linux可以下载)。
我自己是看鸟哥的私房菜进行学习入门的,大家有兴趣也可以看看。
知道了基本命令行操作,我们还需要让我们的代码在服务器上面跑起来,正如本地运行一样但是和本地又有一些不一样。
这里我们部署上线需要了解 nginx,supervisor,uwsgi/gunicorn(任意一个),nginx这方面写的好的书籍不是很多,其他几个服务大家自行Google参考对应官方文档就行。
这里有一篇nginx指南可以看看,Beginner’s Guide,点击原文。
Python Web应用程序线上服务器部署主要是采用 nginx + supervisor + (uwsgi/gunicorn) + flask/django/tornado
方式。
最后
坚持到了这儿,恭喜你,表示你有做开发的潜力,其实我想说的上面的内容还是刚刚开始,刚开始大家不需要多么精通了解这些内容,除了Python方面的知识,每个部分掌握一点儿能进行基本开发就好,主要是不断练习,让自己跳出「舒适区」,进入「学习区」,但是又不进入「恐慌区」,不断给自己「喂招」。
参看我之前写过的工作以后,我们如何实现自我提升
随着开发过程一定要主动学习去掌握之前不熟悉的东西,不建议抱着工作用到才学这种态度。
工作用到很多时候已经来不及了,当然这个也看个人兴趣发展。
随着网站访问量的增大,我们还需要考虑服务高可用架构,缓存,消息队列,服务化,负载均衡等等各种问题,由于这是入门指导我就不深入了。
PS:有同学问我要不要报培训班,这个问题要我回答肯定是不需要
的,当然主要还是看个人水平和身边有没有从事这方面的同学,如果有学习肯定能事半功倍的。
当然关注了我的公众号的同学,肯定也是不需要的。:)
分享到:
相关推荐
精品课程 全程面授 千锋教育 www.qfedu.com 做真实的自己-用良心做教育 最新 Python web 开发视频教程从入门到精通 想学 Python web 开发?想成为 Python web 开发工程师?想进入 Python 行业拿高薪?但还没入行? ...
django从入门到精通的实战教程,作者是薯条老师大神
在本压缩包“示例源码--Python Web开发从入门到精通.rar”中,我们可以预见到一系列关于Python Web开发的实践代码和学习资料。这个资源是针对初学者和有一定基础的开发者,旨在通过实例帮助他们从零开始掌握Python ...
通过《Python Web开发实战》这本书,读者不仅能学到Python Web开发的基本技能,还能了解到一个完整项目从设计到上线的全过程,这将对个人职业发展大有裨益。无论是刚入门的开发者还是有一定经验的工程师,都能从中...
综上所述,Python Web开发课程是一门综合性的实践课程,旨在培养学生从理论到实践的全面能力,为未来在互联网领域的职业发展奠定坚实基础。通过系统的学习和实践,学生将具备独立开发Python Web应用的能力,并能适应...
Python从入门到精通系列课程中,你将逐步学习这些概念,并通过实践项目深化理解,如使用Flask框架创建Web应用,或者实现一个简单的e起去旅行网站。通过这个过程,你不仅能够掌握Python的Web编程基础,还能了解到如何...
总的来说,《Python Web开发》这本书提供了一个全面的学习路径,从Python基础到Web框架,再到数据库和安全,最后到部署和运维,涵盖了Python Web开发的各个环节。通过阅读和实践,读者不仅可以掌握Python Web开发的...
Python Web开发是现代互联网行业中一个不可或缺的技能,尤其对于前端工程师而言,理解并掌握Python Web开发技术至关重要。本文将深入探讨Python在Web开发中的应用,包括基础概念、常用框架、开发流程以及实战技巧。 ...
《Python项目案例开发从入门到实践》这个压缩包文件提供了丰富的Python编程实践资源,涵盖了从基础到高级的各种应用场景。以下是对各个子文件所涉及的知识点的详细解释: 1. **第6章 爬虫应用——抓取网站图片 ...
无论是从语言本身的特点来看,还是从丰富的第三方库支持,亦或是众多优秀的Web开发框架,Python都为Web开发者提供了强有力的支持。随着技术的不断发展,Python将继续在Web开发中扮演重要的角色。
Python Web开发入门 从入门到精通.pdf
**Python Web开发基础教程概述** Python Web开发基础教程是一门专为计算机科学和技术专业的学生设计的重要课程,旨在提供系统且全面的Web开发知识,为Web项目开发奠定坚实的基础。这门课程强调实践性,鼓励学生在...
PythonWeb开发基础教程-第1章-Pyhton-Web开发起步.pdf该文档详细且完整,值得借鉴下载使用,欢迎下载使用,有问题可以第一时间联系作者~
在《Python编程:从入门到实践》这本书中,你会学习到基础的编程概念,如变量、数据类型、控制流(条件语句和循环)、函数,以及如何使用Python的标准库。这本书还将引导你了解面向对象编程,理解类和对象的概念,...
**Python Web开发基础教程...总结来说,这个教程全面覆盖了Django Web开发的基础知识,从项目初始化到功能实现,为初学者提供了一条清晰的学习路径。通过深入学习和实践,开发者将具备独立开发Python Web应用的能力。
Python Web开发是现代互联网应用构建的重要技术之一,它利用Python语言的强大功能和丰富的库资源,结合Web框架,如Django、Flask等,快速构建高效、可扩展的Web应用程序。"Python Web开发实录源代码"是针对这一主题...
"PythonWeb开发案例教程_源代码.zip"这个压缩包包含了整个教程的实践代码,这将帮助你更好地跟随教程的步伐,亲手操作每一个示例,加深对理论知识的理解。 Python Web开发主要依赖于一些强大的框架,如Django、...
《Python编程:从入门到实践》是一本广受欢迎的Python编程教材,旨在帮助初学者掌握Python语言的基础知识,并通过实际项目提升编程技能。该书涵盖了从基础语法到高级特性的全面教程,同时还提供了丰富的实践项目,使...
【Python课程概述】 这是一份全面的Python学习资源,涵盖了从初学者到高级开发者所需的知识点,...通过这套课程的学习,学员可以逐步从Python新手成长为熟练的Python开发者,具备开发复杂Web应用和网络爬虫的能力。
8. 部署:在完成Web应用的开发之后,需要将其部署到服务器上供用户访问。常见的Python应用部署方式包括使用WSGI服务器部署Django应用,或者使用容器化技术如Docker部署Flask应用。在部署时还需要考虑应用的性能优化...