人生几何,何不Python当歌

学习Python也有一段时间了,学到了很多,从什么也不懂到入门,现在谈谈python怎么入门。

注意:本文没什么逻辑,纯属个人对学习历程的回顾。


说实话,这个话题,如果由一个在python领域工作多年对项目对语言都有自己的独特的理解,结果会更有信服力。而我可能并不适合来回答这个问题,理由如下:

  • 首先我的学习周期很短,
  • 其次我在学习python语言之前并没有强大的逻辑运算能力。
  • 第三其实讲真之前对于python我是不怎么了解的,只是看了知乎和blog感觉用Python爬虫挺好玩,才决定学python的。

但是从另一个角度思考,我又觉得我很有资格来回答这个问题,理由如下:

作为一个python领域的编程小白(真的是小白啊),我更懂和我一样编程零基础(上课贪玩,大学学的其它编程课都还给大学老师了)、逻辑又不好的初学者在初次接触python语言之时,内心的困惑和挣扎(其实python相对来说比较简单了);按照我的学习周期及其效果来看,我的学习效果得到了自己对自己的检验;

我的python学习是在大学期间就开始的,而非是在职场的强压下被逼无奈之下开始的,所以不带很多的功利性和企图速成的快节奏,同样也是按需去学,所以对于基础的把握及学习的节奏的经验对我个人还是蛮有帮助的。

关于学习初衷:

首先我想说的是,在打算学习python之前一定要先问自己一句,你学习python的目的是什么?

是为了应对职场压力,被动充电?亦或者仅仅一时心血来潮,看到如今的大数据或者人工智能发展的如火如荼、不由自主的来凑一波热闹?或者是纯粹只是为了兴趣、实现自己的某些想法,比如时不时爬个妹子图....等等。

因为目标定位不同,意味着你能为此打算花费的时间长度不同、付出的心血不同、学习的路径不同、学习的模块不同,达到的效果也不同。

一定要确定好目标,按需去学,否则你在入门之前就首先会陷入迷茫和困惑,因为python除了内置的几个包之外,可用的有不下上万个包,如果再算上GitHub上 托管的个人开发的小众包,可能有好几万了,掰着指头数一数,够学一辈子了。

关于学习过程:

第一阶段:Pythoy环境搭建与配置、数据类型与变量、运算符与表达式、字符串、列表与字典、函数、面向对象编程与模块

Python面向对象编程从零开始-从没对象到有对象。此对象非彼对象,我们可以从面向过程和面向对象来学习面向对象。

  1. 面向过程:根据业务逻辑从上到下写代码。面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程。

  2. 面向对象(object-oriented ;简称: OO) 至今还没有统一的概念 定义是:按人们认识客观世界的系统思维方式,采用基于对象(实体) 的概念建立模型,模拟客观世界分析、设 计、实现软件的办法。

  3. 面向对象编程是一种解决软件复用的设计和编程方法。 这种方法把软件系统中相近相似的操作逻辑和操作 应用数据、状态,以类的型式描述出来,以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。
    也许这些专业术语天生很难让人理解,我们换一种通俗易懂的想法去思考。

面向过程:自己靠双手按照流程去解决问题。面向对象:找个对象,让它帮你去解决问题,自己轻松了。两者都是解决问题的一种思路,没有哪里不对,可是总是觉得怪怪的...

面向对象是一种设计思想:

  • 符合人们的思考习惯
  • 把执行者变成指挥者
  • 简化功能,把复杂的事情简单化

面向对象有三大特征:封装、继承、多态

第二阶段:正则表达式、网络编程(TCP、UDP、FTP与HTTP)、MySql数据库

正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。它是处理字符串的强大的工具,它有自己特定的语法结构,有了它,实现字符串的检索、替换、匹配验证都不在话下。当然对于爬虫来说有了它,我们从html中提取我们想要的信息就非常简单了。

其实正则表达式不是Python独有的,它在其他编程语言中也可以使用,但是Python的re库提供了整个正则表达式的实现,利用re库我们就可以在Python中使用正则表达式来,在Python中写正则表达式几乎都是用的这个库。
网络编程:

  • TCP — 传输控制协议,提供的是面向连接、可靠的字节流服务。

  • 当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。

  • 要学习TCP,一定要知道”三次握手,四次拜拜”所谓的三次握手,就是发送数据前必须建立的连接叫三次握手,握手完了才开始发的,这也就是面向连接的意思。

  • UDP — 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。

  • UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。

  • 由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

  • UDP是一种面向无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。

  • HTTP协议是建立在TCP协议之上的一种应用。

  • HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立TCP连接,而且需要客户端向服务器发出请求后,请求中包含请求方法、URI、协议版本以及相关的MIME样式的消息,服务器端才能回复数据,包含消息的协议版本、一个成功和失败码以及相关的MIME式样的消息。

  • 在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。

  • 由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。通常的做法是即时不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开

  • FTP文件传输协议(File Transfer Protocol, FTP)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。

  • FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。

  • MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

  • 数据库 - MySQL

  • MySQL高级

  • MySQL与Python的交互

第三阶段:web基础,HTML、CSS、JavaScript、JQuery、Bootstrap、Ajax-数据异步交互。

学了一定的理论基础之后,就是大量实践 (所以从你的项目开始做吧)!

实践中总结,实践中完善和扎实理论(问题总是要在实践中发现和解决,不能解决实际问题的理论就是狗屎

最好能有个人能告诉你 你的代码写得有多烂...

第四阶段:Django

问题:

Python是不是需要很深厚的编程基础,我编程基础基本为0,是不是不适合学这个?
  python是脚本语言,语法简单最容易学习,对于没有基础的初学者来说,学习编程最重要的是保持初心和坚持、坚持、坚持。当初怎么想起来学编程的呢?很多人都是从入门到放弃,固然有天赋的因素,缺少目的性也是一个很关键的因素。

个人认为学好一门语言最有效的方法就是持续不断的进行敲敲敲(废话),毕竟编程是个手艺活,手熟是一切的基础,不要怕出错,出现问题去解决问题才是我们进步最快的方法,要觉得自己不是为了当程序员,学习编程是为了解决问题,把你的问题分解细化,让它一步一步驱动你的学习过程,学起来就没那么难啦。

你学了,两年后最起码你是个25岁的程序员,牛不牛逼另说,你不学,你只是个25岁的人。
  
    就这些吧。

最后,copy一段曾经从知乎上看到的文字,或许它真正预示着Python的未来:

大概在 2003 或者 2004 年的时候,我买过一本 Python 的书,作者是一位巴西人。他说自己之所以坚定的选择 Python,是因为他小时候经常梦到未来世界将由一条大蟒蛇(蟒蛇的英文为python)统治。我当时觉得这哥们好可怜,做个梦都能梦到这么恐怖的场景。但今天来看,也许他只是像黑客帝国里的程序员安德森一样,不小心穿越到未来,并且窥探到了世界的真相。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容