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. matplotlib AffineBase, Affine2DBase, Affine2D

    2020-04-10 09:02:59 --Edit by yangray 仿射变换矩阵参考资料-->https://blog.csdn.net/robert_chen1988/article/ ...

  2. lr使用soap协议,来对webservice接口进行测试

    实际项目中基于WSDL来测试WebService的情况并不多,WSDL并不是WebService测试的最佳选择. 最主要的原因还是因为WSDL文档过于复杂. 在案例(天气预报WebService服务) ...

  3. Spring Data REST不完全指南(一)

    简介 Spring Data REST是Spring Data项目的一部分,可轻松在Spring Data存储库上构建超媒体驱动的REST Web服务. Spring Data REST 构建在 Sp ...

  4. 用一个完整的案例讲解Python数据分析的整个流程和基础知识

    先来想一下数据分析的流程,第一步获取数据,因此本节内容就是获取数据以及对数据的基本操作. 1.数据导入 1.1 导入.xlsx文件 要导入一个.xlsx后缀的Excel文件,可以使用pd.read_e ...

  5. I NEED A OFFER! HDU - 1203

    概率+0 1背包 要算成功的最大概率,那就是失败的最小概率,所以01背包直接让失败的概率最小就行了. 注意: 概率与概率之间是要相乘的,不是相加. #include<bits/stdc++.h& ...

  6. Xshell 中文提示乱码

    1.Alt+P 打开配置对话框,点击终端->编码,选择Unicode(utf-8)编码

  7. PHP函数:get_class()

    get_class()  -返回对象的类名 说明: get_class ([ object $object = NULL ] ) : string 参数: object:要测试的对象.如果在类里,此参 ...

  8. centos7 —— 网络连接问题

    今天用虚拟机(VM)安装好centos7后,发现无法连接网络,百思不得其解: 第一步:找到需要修改的文件位置,查明原因 #.查看网络是否可以ping通 ~ ping www.baidu.com #.查 ...

  9. fasttext的使用,预料格式,调用方法

    数据格式:分词后的句子+\t__label__+标签 fasttext_model.py from fasttext import FastText import numpy as np def ge ...

  10. 解决Macbook Pro 2017安装Windows10双系统后在Windows系统中Apple蓝牙鼠标不能使用问题

    MAC BOOK PRO 2017安装Windows10双系统 在Windows系统中蓝牙鼠标不能使用解决办法 最近因工作需要,macOS系统不能要求,大部分工作必须要在Windows系统中进行,最初 ...