跟哥一起学Python(1) - python简介
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简介的更多相关文章
- Python基础一. 简介、变量、对象及引用
一.Python简介 Python是一门计算机编程语言,它是由荷兰人Guido van Rossum在1989年圣诞节期间为了打发无聊的圣诞节而编写的,作为ABC语言的继承 特性: 面向对象.解释型. ...
- Python基础--Python简介和入门
☞写在前面 在说Python之前,我想先说一下自己为什么要学Python,我本人之前也了解过Python,但没有深入学习.之前接触的语言都是Java,也写过一些Java自动化用例,对Java语言只能说 ...
- python入门灵魂5问--python学习路线,python教程,python学哪些,python怎么学,python学到什么程度
一.python入门简介 对于刚接触python编程或者想学习python自动化的人来说,基本都会有以下python入门灵魂5问--python学习路线,python教程,python学哪些,pyth ...
- Python生态环境简介[转]
Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy 原译: Python生态环境简介 当 ...
- Python初识与简介【开篇】
目录 1.扯淡 2.Python历史 3.Python简介 4.Python应用 5.为什么是python而不是其他语言? 6.Python的种类 7.Python的特点 8.Python设计哲学 9 ...
- (转)python生态环境简介
Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy 原译: Python生态环境简介 当 ...
- Python教程_简介2
人生苦短,我用Python--Life is short,you need Python. https://www.bilibili.com/video/av14184325/?p=101 Pytho ...
- Python安装及简介
Python简介 Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...
- Python 3 mysql 简介安装
Python 3 mysql 简介安装 一.数据库是什么 1. 什么是数据库(DataBase,简称DB) 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据 ...
- 零基础学python,python视频教程
零基础学python,python视频教程 这是我收集到的互联网上的视频资源,所有内容均来自互联网.仅供学习使用. 目前我在也在学习过程中,会把学习过程中遇到问题以及解决问题的方式,总结到我的公众号[ ...
随机推荐
- python 删除三天前的日志.py
#获取所有文件def file(): for cur_dir, dirs, files in os.walk(r'/学习/接口自动化/BestTest/作业/logs'): # cur_dir(当前路 ...
- Redis cluster集群配置教程
这里建议大家安装4.0.9版本的 1.打开Centos虚拟机,登陆. 2.通过WinSCP把Redis集群tar包上传到虚拟机里的目录里,我的目录是 /usr/local 这里我已经上传过了并解压了, ...
- 【python实现卷积神经网络】池化层实现
代码来源:https://github.com/eriklindernoren/ML-From-Scratch 卷积神经网络中卷积层Conv2D(带stride.padding)的具体实现:https ...
- 多线程高并发编程(4) -- ReentrantReadWriteLock读写锁源码分析
背景: ReentrantReadWriteLock把锁进行了细化,分为了写锁和读锁,即独占锁和共享锁.独占锁即当前所有线程只有一个可以成功获取到锁对资源进行修改操作,共享锁是可以一起对资源信息进行查 ...
- Anadi and Domino--codeforces div2
题目链接:https://codeforces.com/contest/1230/problem/C 题目大意:21枚多米诺牌,给你一个图,将多米诺牌放到图的边上,由同一个点发出的所有边,边上多米诺牌 ...
- Kaggle入门——泰坦尼克号生还者预测
前言 这个是Kaggle比赛中泰坦尼克号生存率的分析.强烈建议在做这个比赛的时候,再看一遍电源<泰坦尼克号>,可能会给你一些启发,比如妇女儿童先上船等.所以是否获救其实并非随机,而是基于一 ...
- df卡住的解决办法
在使用网络存储时,如果网络存储出问题.比如使用NFS,网络中断,df -h会卡住 情形一 ctrl+c是能取消中断的,这种情况算是比较幸运.使用mount查看有哪些挂载点,将其卸载即可. 情形二 ct ...
- search(7)- elastic4s-search-filter模式
现在我们可以开始探讨ES的核心环节:搜索search了.search又分filter,query两种模式.filter模式即筛选模式:将符合筛选条件的记录作为结果找出来.query模式则分两个步骤:先 ...
- BUAA_OO 第一单元总结
1.简单多项式求导 第一次作业的难点,我认为是对输入的预处理,尤其是正则表达式的使用.这次作业的思路是:首先将表达式进行预处理,(由于题目中要求不会有空格产生的WF,所以可以放心大胆的消除空格). 消 ...
- Linux系统硬件时间12小时制和24小时制表示设置
目前的服务器status是下面这样的 服务器系统 centos7 Linux系统时间 Fri Mar 20 15:26:27 CST 2020 Linux系统硬件时间 Fri 20 ...