第4天 Python

1.开始学习之前的准备

有了前3天的思维基础,后面几天,我想分享一下“如何快速学习不同的编程语言”。

为什么要“快速”学习”“不同的编程语言”呢?

第一,语言是前文提到的“技术地图”的基础

任何框架都是基于某种编程语言实现的。

编程语言就好像练习任何一种武功秘籍之前必须掌握的基本功。

第二,学习不同的语言有助于扩展“技术广度”。

前文提到的“技术地图”中,有的框架实现用的是python,有的组件实现用的是Java。

有了不同语言的基础,就可以更快的探索并掌握一种新的框架。

深想一层,为什么不同的框架采用不同的编程语言呢?

抛开商业因素,任何编程语言都有自己产生那一刻要解决的特定问题、适用的场景、语言的优缺点。设计语言的大师通常会把他的编程哲学融入在这种语言中。

了解越多的语言,构建“技术地图”的门槛越低。

第三,快速,只是一个生产效率问题。

假设学习一种新的语言需要半年,而技术地图中的框架、组件又在以周为单位的速度不断推陈出新,那么掌握“技术地图”应该是一个不可能完成的任务吧。

怎么快速学习一种编程语言呢?

在《写给程序猿新手的入门书》系列中,我们再次明确一下学习要达到的效果:

(1)达到实战够用的程度。

曾经在市面上很流行《21天精通XXX语言》的书,个人感觉误人子弟。

要“精通”一种语言是一件很难的事情,即便一个程序猿10年坚持只使用一种编程语言,也会时常发现原来还有某些知识盲区。

但,实战中,能够用到的知识点是很有限的。

一个有经验的程序猿需要学习一种新编程语言的时候,绝对不会抱着一本《Thinking in XXX》的典籍掉书袋。

实战,够用就行。

(2)掌握“达到实战够用的程度”的学习方法。

无论哪种编程语言,只是立足于“达到实战够用的程度”,是有固定套路的。

这也就是时常有新手程序猿惊叹某位老程序猿:“你学东西好快啊!”

不是老程序猿有多高的智商,只是他掌握了快速学习一种新语言的方法。

下面,我们就从Python这种编程语言开始演练。


2.从Python开始

2.1.从“面向过程”的角度看Python

(1)Python于“面向过程”的作用

面向过程的核心要务是将一个任务分解成有序的若干步骤。分解得到的步骤,清不清晰、顺不顺畅,这是设计问题。

而,Python,这种编程语言,起到的作用仅仅是描述这些步骤的一种工具箱。

(2)Python提供了哪些工具

函数,变量,逻辑(判断/循环),数据结构(字符串/列表/元组/集合/Map)

依然通过一个例子进行说明:

假设,我们接到的任务是“制作一盆油焖大虾”。

我们先来按照“面向过程”的思路设计一下:

图片发自简书App

函数:每个步骤就是函数

图片发自简书App

变量:以第4步为例,调料的分量就可以当做变量。

图片发自简书App

逻辑(判断/循环):每个步骤内部都有自己的逻辑

例如:“加啤酒”这一步,分3次倒入,每倒1次,等待1分钟。——这就是“循环”

例如:“焖”这一步,如果发现大蒜变软,则可以关火。——这就是“判断”

图片发自简书App

变量的类型有很多种,常用的是,字符串/列表/元组/集合/Map等

这些与《数据结构》中的数组、链表、字典等等都是一样的。

(3)Python示例

Python示例

运行结果:

Python运行结果

2.2.从“面向对象”的角度看Python

(1)Python于“面向对象”的作用

Python通过提供类、对象等工具,描述面向对象中划分的类别

(2)Python提供了哪些工具

1个类、类的关系(组合、继承)

还是用上面的例子来讲解:整个做油焖大虾的过程,如果由1个人负责,职责不清楚,并且,为什么要做油焖大虾呢?

于是,我们按照“面向对象”来划分了3个类。

吃货类:负责要求“做油焖大虾”,负责“吃油焖大虾”;

洗虾工:负责洗虾;

大厨:负责做油焖大虾;

无论是吃货类、洗虾工类、大厨类,都有自己的属性、方法——请参见“第2天 关于面向对象”

吃货类包含了洗虾工类和大厨类——组合

洗虾工的爸类有一个帅不帅的方法,洗虾工作为儿子就继承了——继承

图片发自简书App

(3)Python代码示例

定义的洗虾工的爸、洗虾工、吃货、大厨类:

调用示例:

代码运行结果:

2.3.从“技术地图”的角度看Python

(1)在前端的应用

(2)在后端的应用

这里多说一句,在如今大数据、AI的热潮中,python在后端开发中,稳稳的占据了“数学计算”和“数据采集和解析”的地位。

2.4.Python其它的“常(奇)用( 巧)技(淫)巧(技)”

文件操作:读写文本文件、office文件等

文件解析:xpath等

Python的“三引号字符串”

Python的特殊函数、属性:__name__、__dict__、__init__、__del__、@classmethod等

上述“常用技巧”不在本文的主题范围,后续单独列举Python文集展开。

3.总结

如何快速学习一种新的编程语言(Python)?

从“面向过程”的角度,快速找到Python中与面向过程有关的知识点。

从“面向对象”的角度,快速找到Python中与面向对象有关的知识点。

从“技术地图”的角度,快速浏览Python在技术地图的各个领域中已有的开源框架。

从“常用技巧”的角度,快速找到Python与其它语言不同的、常用的小技巧点。

按照上述方法,算得上快速入门了,然后就是在实战中,逐步熟练各个技术点了。

今天就到这里了。。。over。。。

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,039评论 25 707
  • 今天看到一个帖子,命名是程序员面临的最讨厌问题。 命名其实代表了对问题的认识,名字可以自然地区分出问题的层次,典型...
    ww4u阅读 242评论 0 0
  • 跟在幺姨后面,除了担心,外婆脸上再看不出任何表情。她佝偻得像老犁弓一样,走到离病床不远的椅子边,安静坐下,...
    蝈蝈2018阅读 475评论 2 15
  • 生活会给你很多阻挠,你可能感到受委屈和无助,但是请保持一颗向上的心,一切总会变好的。
    萘妩阅读 343评论 0 0
  • 由于公司业务需要,与鹅厂进行合作,为了防止泄密,提供可以连接控制设备的 SDK 给他们是使用。 普及一下静态库和动...
    lusen_b阅读 565评论 0 0