01—写在前面

我做了十几年的程序猿,码过代码、带过项目、做过产品经理、做过软件架构师。因为我是做通信设备软件的,面向底层操作系统,所以我的工作主要以C语言为主。Python在我的工作中通常用来写一些小脚本。最近一个项目的需要,我需要深入学习python。现在python很火,很多没有编程经验的也开始学起python了,我觉得这是很有意思的一件事情,就产生了把我的学习过程用文章和视频的方式记录下来的想法,希望这些东西能帮忙大家尤其是这些初学者。

由于我需要考虑这些从来没有接触过编程的初学者,所以我写的有些内容会比较基础,进度也可能会比较慢,有编程经验的同学可以跳着看。

你可以叫我Tiger,准备好了吗?我们一起开启python的学习之旅吧!

 本节视频可以点击观看: 查看本节视频

02—Python简介

如果你从来没有接触过编程,那么需要先大体了解一下编程语言的历史背景。

一、高级编程语言的诞生

计算机编程历经了从机器码到汇编再到高级编程语言的演进过程,下图描述了三者之间的逻辑关系:

我们都知道,计算机只认识机器码,也就是一串对于人类来说毫无意义的0和1。这玩意儿对于机器来说是很友好的,但是对于人类来说就太残忍了。在没有编程语言之前,科学家们是通过打孔的方式来计算的,像这样:

我很佩服这些科学家,因为他们拿着一根长长的打满孔的纸带,可以理解上面的意思。

后来,人类发明了汇编语言。这是一种编程语言了,但是它还不完全是现在我们接触到的编程语言,它介于人类和机器之间。要想玩转汇编语言,你首先得非常清楚计算机的计算原理,你得了解几十个不同的寄存器是怎么工作的,比如下面这段汇编代码,我相信很多写了多年代码的程序员都不一定能看懂。

汇编语言虽然不再是天书了,但对人类来说依然非常不友好。于是我们发明了“高级”编程语言,这里的高级是相对于汇编这种低级语言而言的。VB、C、C++、JAVA、PHP、Python…我们现在接触到的编程语言都是高级编程语言。

高级编程语言,定义了一大堆语法规则,这些语法规则是面向人类认知的,在人类看来是有逻辑意义的,易于理解。程序员基于这套语法规则编写的代码,再通过特殊的工具翻译成汇编指令,这种工具就是“编译器”或者“解释器”。

作为我们这一代程序员是幸福的,因为我们有了高级编程语言,我们不再需要把大量的精力放在研究机器是如何运行的,我们可以更多的关注我们代码需要实现的业务逻辑和功能上面。

好的,我们总结一下。

  • 发明编程语言的原因,是因为机器码理解起来太困难。
  • 我们现在接触到的编程语言基本上都是高级编程语言。
  • 编程语言的本质,是人为定义的一套语法规则,我们学习编程首先要学习掌握这套语言规则。

二、Python的优势

回到python。

没错,python就是数十种高级编程语言中的一个而已。那为什么现在这么多人开始学习python呢?我的看法是:

  • python足够简单。尤其是对于没有编程经验的人来说,它入门足够简单。作为写了十几年C代码的老程序员,感触至深。你能想象让一个没有计算机基础的人去搞明白为什么内存会泄露吗?去搞明白什么是指针吗?
  • Python足够强大。我一直认为python的强大在于其丰富的组件库,只要你能想到的功能,基本上都能找到现成的免费的开源库。作为一个老C程序员,当第一次看到python组件库,感动得泪流满面啊。想当年我们的系统,真的是从第一行C代码开始写的啊,没有任何可以拿来就用的库。
  • Python跟上了潮流,或者说潮流选择了python。大数据、AI等等这些当红炸子鸡,都和python紧密联系在一起了,不火都不行。

好吧,废话不多说,我们开始python编程吧。

跟哥一起学Python(1) - python简介的更多相关文章

  1. Python基础一. 简介、变量、对象及引用

    一.Python简介 Python是一门计算机编程语言,它是由荷兰人Guido van Rossum在1989年圣诞节期间为了打发无聊的圣诞节而编写的,作为ABC语言的继承 特性: 面向对象.解释型. ...

  2. Python基础--Python简介和入门

    ☞写在前面 在说Python之前,我想先说一下自己为什么要学Python,我本人之前也了解过Python,但没有深入学习.之前接触的语言都是Java,也写过一些Java自动化用例,对Java语言只能说 ...

  3. python入门灵魂5问--python学习路线,python教程,python学哪些,python怎么学,python学到什么程度

    一.python入门简介 对于刚接触python编程或者想学习python自动化的人来说,基本都会有以下python入门灵魂5问--python学习路线,python教程,python学哪些,pyth ...

  4. Python生态环境简介[转]

    Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy  原译: Python生态环境简介 当 ...

  5. Python初识与简介【开篇】

    目录 1.扯淡 2.Python历史 3.Python简介 4.Python应用 5.为什么是python而不是其他语言? 6.Python的种类 7.Python的特点 8.Python设计哲学 9 ...

  6. (转)python生态环境简介

    Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy  原译: Python生态环境简介 当 ...

  7. Python教程_简介2

    人生苦短,我用Python--Life is short,you need Python. https://www.bilibili.com/video/av14184325/?p=101 Pytho ...

  8. Python安装及简介

    Python简介 Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  9. Python 3 mysql 简介安装

    Python 3 mysql 简介安装 一.数据库是什么 1.  什么是数据库(DataBase,简称DB) 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据 ...

  10. 零基础学python,python视频教程

    零基础学python,python视频教程 这是我收集到的互联网上的视频资源,所有内容均来自互联网.仅供学习使用. 目前我在也在学习过程中,会把学习过程中遇到问题以及解决问题的方式,总结到我的公众号[ ...

随机推荐

  1. 1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、212345等. 要求:”4”不能在第三位,”3”与”5”不能相连。

    private static String[] mustExistNumber = new String[] { "1", "2", "2" ...

  2. AJ学IOS 之二维码学习,快速打开相机读取二维码

    AJ分享,必须精品 上一篇文章写了怎么生成二维码,这儿就说说怎么读取吧,反正也很简单,iOS封装的太强大了 步骤呢就是这样: 读取二维码需要导入AVFoundation框架#import <AV ...

  3. Salesforce Admin考题解析 | 流程自动化考题与知识点拓展

    [题目1] A record is modified on 1/1/2008. It meets criteria for a time-based workflow rule; this rule ...

  4. vue中SPA的优缺点和理解

    说说你对SPA的理解,他的优缺点分别是什么? SPA(single-page application) 尽在Web页面初始化时加载相应的HTML,JavaScript和CSS.一旦页面加载完成,SPA ...

  5. C++学习--编译优化

    常量折叠 把常量表达式的值求出来作为常量嵌在最终生成的代码中. 疑问:对于一个很复杂的常量表达式,编译器会算出结果再编译吗?亦或者是把这个表达式完全翻译成机器码,最终留给程序去解决? 分情况: 涉及的 ...

  6. .NET 4 实践 - 使用dynamic和MEF实现轻量级的AOP组件 (4)

    转摘 https://www.cnblogs.com/niceWk/archive/2010/07/23/1783394.html 借花献佛 前面我们介绍了构成DynamicAspect绝大部分的类, ...

  7. 获取某个时间开始 之后的 N次[周几,周几]

    废话不多说,直接上菜! 调用函数代码举例 //PS :这里需要注意的是 周日 是 0 !!!!! console.log(getBeforeDate(-10000)) //一万天之后的日期 conso ...

  8. curl发送多维数组

    //通过curl模拟post的请求: function SendDataByCurl($url,$data=array()){ //对空格进行转义 $url = str_replace(' ','+' ...

  9. Web中间件常见漏洞

    IIS Internet Information Services--windows 解析漏洞 IIS 6.x 基于文件名:该版本默认会将 *.asp;.jpg 此种格式的文件名,当成 Asp 解析, ...

  10. 百度云虚拟空间(BCH)

    百度云虚拟空间(BCH)上的一些默认配置 :first-child { margin-top: 0;}blockquote > :last-child { margin-bottom: 0;}i ...