《落花僧的python小白极简编程课》
0.1 为什么要学习编程?
这个世界上每个人对世界的感官和认知都不一样,大家生下来都是双手双脚配个脑袋,为什么世界观和能力会不一样呢?
皮萨罗带180人就征服了约600万人的印加帝国,本质上还是因为皮萨罗有航海技术、有动员管理技能,有铁骑和大炮。
工具和意识决定了谁被征服,谁是征服者。
如果你感觉到生活或工作的阻力,多半原因是因为意识和工具没有武装到位!
从弓箭到核弹,
竹简到互联网,
你所能利用的工具,这些支点的位置,决定了你人生可以撬动的成就大小。
而未来世界,无疑是代码驱动的世界!
有一些编程能力绝对可以为你的职业发展赋予极大的爆发力,也让你更好的理解未来这个比特世界的运作模式。
0.2 编程好像很难,可能学不会?
不要想着一开始就要把自己塑造成为一个编程专家,或者一个专职程序员,极深的编程能力只会属于小部分人,就好比阅读和写字表达的能力,只有少部分人能成为作家,你需要的写作阅读能力只需要能让你完成某个工作或目标即可,它们是你完成某个任务的工具,你在百度上搜索一个信息,并不需要理解搜索引擎其背后的技术原理。
所以你需要带着好奇心,并且以需求和目标驱动的心态来学习编程,基础编程能力的数学和英语水平要求并不高,大致初中水平即可,现在小学生都可以学会编程了。
1 什么是程序,什么是编程语言?
程序是魔法吗?
拿着手机点几下屏幕就可以让人把餐送到门口,这个在古人看来无异于魔法,我们知道这个魔法本质上就是程序,你的输入(和外卖app交互)触发一个输出(app的服务器收到你的请求信息,然后通知商家送餐),程序本质上就是告诉机器如何反应的指令集合,要写一个程序,脑子里先要构思着过程序的目标是什么,要达到这个目标的话,需要哪些处理逻辑,就好比做一个菜,需要哪些食材,需要经过哪些流程才可能作出这个菜。
编程语言是什么语言?
写程序就需要先梳理好流程逻辑,然后通过编程语言整理一大堆指令,组合好,最后让机器执行。既然要让机器执行,肯定是需要机器可以理解的指令,我们需要去定义规则,让机器能明白的规则,然后我们照着这个规则来书写,这样机器才可能理解,计算机科学发展几十年,这些规则也逐渐演化、生存和死亡,他们就是所谓的编程语言,这样的由我们人类按照自己的想法来严谨定义规则的语言称之为形式语言,数学公式其实就是一种形式语言,有严谨、清晰、明确的规则和定义,编程语言也是一种形式语言。与之相对的是所谓的自然语言,比如我们人类不同种族或国家的语言,汉语、英语、西班牙语等,这些自然语言是自然演化,没有任何人可以强制去定义规则的,这样的称之为自然语言。
下面对编程语言和自然语言做一个对比:
编程语言(一种形式语言) | 自然语言 | |
---|---|---|
种类 | C, java, python, php等 | 汉语,英语,法语等 |
演化逻辑 | 严谨、清晰、明确的规则和定义 | 无法强制定义规则,纯自然演化 |
载体 | 计算机 | 人类大脑 |
2 为什么是python
编程语言的演化逻辑其实就是越来越接近人类大脑的思考方式,也可以说是越来越靠近自然语言的表达方式,因为我们每个人都至少会一种自然语言,所以学这样的编程语言会更友好和简单,虽然python目前排行位居c和java之后,但是对于应用级编程来说,其友好度绝对吊打java和c.对于初学者来说,python就是“说人话”的编程语言,属于上上之选。
3 怎么让电脑明白你的代码?
目前已经确定我们要用python来写代码(指令)了,那假设我们写好代码了,如何运行呢?如何让电脑执行起来呢?
这就需要python解释器了,python解释器本身也是一个程序,你可以理解成它可以把你写的python代码再翻译一遍成为机器可以理解的语言然后运行,所以我们需要电脑上安装有这个python解释器才能执行你写的代码,不然电脑无法认识和执行你的python代码。
4 安装python解释器
从python官网上可以下载安装python解释器,也可以百度python,然后有个华军纯净下载,注意:windows和mac系统有不同的对应其操作系统的解释器下载,操作系统不对应的话安装不了。
5 第一行魔法
1.安装好python解释器后,使用windows的win键+R 打开windows运行窗口,如图
2.命令行打开python解释器
3 打印hello world
END总结
至此我们完成了python的安装,并且调用了python的print函数,打印出了一个字符串‘hello world’。print其实就是一句魔法(一个指令、函数、一个操作),告诉解释器我需要打印输出一个指定的内容,python解释器识别到你的输入内容,然后让计算机回显到了屏幕上,虽然这是一个很简单的示例,但是包含了整个python解释器和计算机执行程序的执行逻辑,下一章我们讲解python代码的执行方式和编写方式.