十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一. 确定一个练手的目标
站在用户的角度思考问题,与客户深入沟通,找到新昌网站设计与新昌网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖新昌地区。
如果手边没有现成的需求项目等着你去用python实现,那么最好先确定一个小目标,例如 搭建一个博客,一个站点等.
二. 分析所需知识技能
接下来我们需要分析下,针对这种web性质的项目,需要掌握的技能树
三. 开发所需的技能知识
1. 开发环境和开发工具
python下载
sublime Text 3
pycharm下载
2. python语法知识
我个人推荐廖雪峰老师的python教程,简单易上手,大概每个章节都看下,代码敲一遍
3. web框架
djangoh中文文档
web.py官方教程
Flask学习指南
tornado中文文档
4. ORM
MySQL教程
Mongodb教程
Redis教程
5. 代码托管
Git教程
SVN教程
免费的代码托管平台 码云
6. 前端知识
html, css, js jquery,ajax
bootstrap中文网
vue.js官网
weex官网
7. 部署上线
(1) 域名和服务器购买, 及域名备案,域名解析等
(2) linux基础操作知识
(3) python虚拟环境和多版本共存
virtualenv介绍和配置
pyenv介绍和配置
(4) 负载均衡和进程守护
nginx服务器入门指南
supervisor守护进程
四. 写在最后
1. python自学之路漫长,需要持续的学习和总结,希望各位挺住!
2. 找一个pythoner一块交流学习,碰到问题能有所指点,事半功倍!
对于零基础的朋友,如果选择自学的话,我按由浅入深的顺序推荐:
1 《父与子的编程之旅》。了解了计算机的基本运行原理和编程的基本概念。
2 《Python简明教程》。这是一本言简意赅的 Python 入门教程,简单直白,没有废话。就算没有基础,你也可以像读小说一样,花几天时间就可以读完,适合快速了解语法。
3 廖雪峰编写的《Python教程》。廖先生的教程涵盖了 Python 知识的方方面面,内容更加系统,有一定深度,有一定基础之后学习会有更多的收获。
4 可以参考的书有《笨办法学Python》,《Head First Python》,《Python编程-从入门到实践》。
注意:在学习编程的时候一定要注重编码实践,不写大量的代码,是学不好编程的,而且要培养自己的编程思维,逻辑思维。
比较巧的是我的情况与你相当,因此我的经验应该对你有所帮助。
先说说我的情况。我是没有任何编程经验的,之前一直从事的是产品设计相关岗位,而且我英语水平实在一般,所以总的来说我比你底子还要低,另外,我27岁(年轻点应该学的更快,也更有精力)。
再说说我目前的情况。目前我已经能利用Python基于Flask框架写一个CMS网站(内容管理系统),这肯定包括MySQL、前端的一些工作了,而且可以去把网站部署到VPS上(基本的服务器操作、Python环境配置、Nginx相关配置)。
目前我正在利用闲暇时间编写自己一直想做的网站,之前是那个经典笑话:我有一个想法,就差一个程序员了。
我不打算告诉你具体该看什么,做什么,我觉得我没资格当你老师。但我可以把我的经历告诉你,你可以参考,拿走对你有用的部分。无论如何,希望帮到你,希望多一个热爱Python的人。
我的学习之路大致是这样的,供你参考:
我是15年4月份正式开始学习Python语言的,入门读物是一本书《父与子编程》。当中关于客户端(GUI)的操作,浅尝辄止。
关于第1点,我需要进一步强调:因为我目标非常明确,利用Python进行Web编程,通俗的讲,我要自己写个网站。所以凡事和写网站不相干的实践我通通跳过或稍微尝试做下。我到现在还认为这样的学习方式是正确的,因为Python能做的事情非常多,覆盖各种领域。在了解Python基本的语法之后,进行不同领域的实践又要学习很多不同的东西(不同的包的用法和相关知识),所以,我非常建议你在学习Python之前明确掉你学Python的最终目的是什么?然后集中精力去学习与目的相符的知识点。比如你学习Python和我一样是做网站,那么爬虫、数据统计、数学处理、客户端软件编程、设计游戏等这些事情一律先跳过不深入;如果你学习Python是为了做数据分析,那么像做网站的实践、Web框架这些应该先跳过。其实道理很简单,精力和时间有限,因此集中去攻克和目的相关的内容,不容易分散精力,学习也很快。我深以为那些建议新手做这做那,去Github去做那个很多小实践的项目是错误的,至少对你我这样的人不合适,我试过的。
之后,入门进阶读物还是一本书,就是《Learning Python》(俗称“老鼠书”)。这本书很厚,而且还有一部分高级操作是电子版的。这都不重要。你只要读好这本书「纸质版」包含的内容即可。这本书有中文版的,翻译质量上乘,这是我之前说反对@解灵运那个观点的原因。至少我英语这么渣的看起来不吃力,而且这本书有编程基础的看不上的,你去亚马逊看这本书的差评就知道了,不管人家怎么说,这本书很棒。
在看《Learning Python》的同时,我会随手根据书上学到的东西编写对应的实践看看代码的运行效果。这时我遇到一些问题:怎么让电脑可以写Python代码?用什么写Python代码好?
第一个问题我先想到Python的官网是否有安装包,结果当然是有。虽然英语渣,但软件下多了,还是知道跑到downloads页面去找的,安装包安装很方便,和装一般软件没什么两样。(现在觉得这是比Ruby做得好的地方)。
第二个问题,求助了万能的知乎(搜一下问题就好),看到多数人推荐Pycharm,自己就下载用了,开始没感觉特别(没用其他的所以没对比),之后觉得难用(英语渣导致),最后觉得超-级-爽(熟悉后)。然后问搞技术的同事后,了解到其实这家出的其他语言编辑器也非常棒。
解决了上述两个问题后,眼下就是巩固知识多学多看的事情了。
学习完部分《Learning Python》后(见备注),我对 Python基本的基础语法已经了解,但很容易忘,因此进阶学习是看网络教程,这里尤其推荐廖雪峰的教程。网络教程包含更多的基础实践,没书里那么细,因而「温故而知新」的效果很好。
看完廖雪峰的教程后,我基本语法已经没问题。但类似@装饰器这样的高阶应用我无法理解,更不知道具体用场,虽然教程讲的因果我理解,而且感觉是这么用,但例子终究是个例子,没具体用上还是不明白「究竟的用场?」。很多高阶应用知识的问题在这个阶段产生,我都似懂非懂。我最后的处理办法是:将这些问题先放在了一边。
之前讲过,我目的非常明确:做网站。所以基本语法掌握后,我跃跃欲试,又是万能的知乎,给我了下一步的方向,但也带给了我更多的困扰。
在学习完廖雪峰的教程后,我知道我下一步是了解Python的更多周边信息,了解如何利用Python去写网站的,了解编程学习的进一步应该学些什么。
在知乎关注Python和一些编程话题后,知道知乎有「三大软狗:温、赵、轮」,还有一个「萧井陌」,这四个人是程序界在知乎的有名人物,这其中我感觉萧井陌接触Python多一些,其次是轮子哥。按照萧井陌在某一问题下的答复(他说把他答案全看一遍再说),我就老老实实的把萧井陌的答案全看了一个遍,之后又同样的做法看了轮子哥的。
完成第12点后,如果说具体的收货,我讲不出很多,但是看完他们的答案后,感觉认识层次有提升,而且不小,关于这点真的「只可意会不可言传」,你试试就知道了。
在学习第二本书的时候,我就知道Python有版本之争,但在知乎搜索有关问题看更多后,我发现这个争论还不小。我倒没那么纠结,果断的上Python3.x,可能我是搞产品的,不喜欢陈而不新的东西。这之后我所有的实践,包括现在编写网站,全部基于3.x。当然这绝对不是说2.x就不应该去了解,只是3.x是主要的。
悲剧的事情来了。因为在知乎看得太多,我陷入了「Python还是Ruby」的深深纠结当中。这和我目的是WEB方向有关。如果题主学习Python不是做网站,不会遇到这个问题。
为了解决第15点的问题,我的做法是买了Ruby的经典入门书,结果看到30多页的时候,突然充满恶心和厌恶,直接甩书。
这之后进一步了解到WEB框架,知道Python的几个主力WEB框架。知道Flask,了解这些框架的设计理念之后,我选择了Flask,就跟我学习Python一样,我认同他们的设计理念。
进一步,我进阶学习还是一本书《Flask Web开发》,通过这本书,我开始尝试编写网站。然而我发现书上的知识是远远不够的。并且,书开始涉及一些高阶语法应用,比如@装饰器,这时,在第9点放下的东西我开始重拾。
在学习《Flask Web开发》的过程中,我几乎是边回头看廖雪峰的教程,边GG(谷歌搜索)过日子。这之中几乎每天都会被一个问题挡住,然后每天又解决一个问题。这种感觉很棒,感觉每天都有成就感的活着。
在《Flask Web开发》看到一大半的时候,我发现光有Python相关的知识已经不够用,我不知道MySQL怎么用,不知道ORM为何物,不知道HTTP协议的具体细节。总而言之,深感知识的荒芜。
我暂时放下《Flask Web开发》,开始学习上面谈到的这些东西的相关知识。方式以GG为主,后来知道程序员有专门的问答网站,在国内这个网站是segmentfault,通过这个网站也学习到上述的不少相关知识。关于MySQL看了一本书,这本是现在买不到了,这里我就不提了,应该有更好的,你自己搜一下(MySQL的书是我2年前买的,当时是因为要考试,看了一点点就放在那,之后全忘记了)。
在补充了相关知识后,《Flask Web开发》绝大部分都看得懂了。我开始动手编写我想做的网站,一直到现在。
一直都会遇到问题,但都是零碎的知识点,我哪里不懂GG哪里,目前没遇到GG之后还学不会的。
《Flask Web开发》看完后,开始看《Python核心编程(第2版)》,这本书有些问题(后面会谈到),不过很受用,因为本身是教科书的形式,知识脉络比较规矩和全面。
目前《Python核心编程(第2版)》看到P417,然后边看边写网站。偶尔还会参考《Flask Web开发》,多数情况下看各种官方文档了,比如Flask的。哦,忘记说了,我很早就知道各种程序总有作者编写的文档的,国内会有一些人热心翻译。我总能通过GG找到这些资料。这些资料是非常一手的好东西,但是没前面的基础工作一样看不懂。
越来越喜欢Python,喜爱编程,看见程序员就想和他们交朋友,觉得他们是一群很棒的人!