跟着老杨玩python之开篇

栏目: Python · 发布时间: 5年前

内容简介:​ 随着人工智能的火热,python这门语言越发火热,不只是受到程序员的追捧,更吸引很多其他行业的人员,跨行学习python,考虑到python的学习者,水平参差不齐,很多甚至之前完成没接触过编程,在这里,老杨将结合自身开发经验,以通俗易懂,幽默的方式,分享一些相关知识,让大家快速上手python。老杨认为编程和我们现实生活都有对应关系的,希望大家可以多用生活化的例子去学习,更容易加深大家的理解。​​ 很多人都知道python火热,要去学习python,那么在学习之前,我们首先应该知道,python到底

​ 随着人工智能的火热,python这门语言越发火热,不只是受到 程序员 的追捧,更吸引很多其他行业的人员,跨行学习python,考虑到 python 的学习者,水平参差不齐,很多甚至之前完成没接触过编程,在这里,老杨将结合自身开发经验,以通俗易懂,幽默的方式,分享一些相关知识,让大家快速上手python。老杨认为编程和我们现实生活都有对应关系的,希望大家可以多用生活化的例子去学习,更容易加深大家的理解。

老杨

python是什么

​ 很多人都知道python火热,要去学习python,那么在学习之前,我们首先应该知道,python到底是什么。

1982年 **,为了打发无聊的圣诞节,荷兰人 Guido von Rossum ,(我们国人称之为龟叔)开始编写Python的编译器,python这个名字,来自于龟叔最爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和 shell 之间,功能全面,易学易用,可拓展的语言。 1991年 ,第一个Python编译器诞生。它是用 C语言 实现的,并能够调用C语言的库文件, 2008年 ,python3开始发布

Python 是一种计算机程序设计语言。是一种**[动态类型语言][动态类型语言] ,一门 解释性语言**,一门 强类型高级语言 。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

编程语言的基础

​ 到这里,可能很多人就有些无法理解,什么叫做动态语言,什么叫做解释型语言,别着急,待老杨一一道来

​ 正如人和人沟通,需要语言,人和计算机交互也需要语言。计算机语言也叫程序语言(Program Language),是人与计算机交流和沟通的工具

​ 最初的计算机程序都是用0和1的序列表示的,程序员直接使用的是机器指令,无需翻译,从纸带打孔输入即可执行得到结果。这种只有0和1的语言,我们称之为 机器语言 。后来为了方便记忆,就将用0、1序列表示的机器指令都用符号助记,这些与机器指令一一对应的助记符就成了汇编指令,从而诞生了汇编语言。无论是机器指令还是汇编指令都是面向机器的,统称为低级语言。因为是针对特定机器的机器指令的助记符,所以汇编语言是无法独立于机器(特定的CPU体系结构)的。但汇编语言也是要经过翻译成机器指令才能执行的,所以也有将运行在一种机器上的汇编语言翻译成运行在另一种机器上的机器指令的方法,那就是交叉汇编技术。 高级语言 是从人类的逻辑思维角度出发的计算机语言,抽象程度大大提高,需要经过编译成特定机器上的目标代码才能执行,一条高级语言的语句往往需要若干条机器指令来完成。高级语言独立于机器的特性是靠编译器为不同机器生成不同的目标代码(或机器指令)来实现的。

低级语言:机器语言(只有0和1)和汇编语言(特定的词语和符号来表示一组指令)代码编写难度较大,可读性较差。另外,低级语言编写的程序只能在一种计算机上运行,想要运行在不同的机器上,必须重写。低级语言是早期的一种计算机编程语言,现在只在很少的特殊场景中使用了。

高级语言:更接近于我们平时正常的人思维,其最大的特点是编写容易,代码可读性好,可运行于不同机器。实现同样的功能,使用高级语言耗时更少,程序代码量更短,更容易阅读

一句话总结:只有0,1的面向机器的语言我们称之为机器语言,用特定符号表示指令集的面向机器的语言为汇编语言,而更贴合我们人类逻辑,语法规则,可以运行于不同机器之上的则是高级语言。

​ 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。而这种转换的方式有两种:

  1. 编译
  2. 解释

由此高级语言也分为 编译型语言解释型语言

编译型语言

程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等

解释性语言

相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行

​ 前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如 Java 、JavaScript、VBScript、 Perl 、Python、 Ruby 、MATLAB 等等

一句话总结 :编译型语言相当于做一桌子菜再吃,解释型语言就是吃火锅。解释型的语言执行效率低,类似火锅需要一边煮一边吃。

动态类型语言是指数据类型的检查是在运行时做的。用动态类型语言编程时,不用给变量指定数据类型,该语言会在你第一次赋值给变量时,在内部记录数据类型。

静态类型语言,是指数据类型的检查是在运行前(如编译阶段)做的

  • 动态类型语言 的优点是不需要写多种数据类型的代码,代码相对简洁一些,方便代码阅读。缺点是不方便调试,代码命名也容易混淆;
  • 静态类型语言 的优点是方便调试,代码相对规范。缺点是需要写很多数据类型相关的代码,代码不够简洁

一句话总结:动态语言好比是吃了自然知道是啥菜,静态语言好比是搞清楚了才能吃。

强类型定义语言:程序中表达的任何对象所从属的类型都必须能在编译时刻确定,强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。强类型语言在大规模信息系统开发中具有巨大优势

弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值

一句话总结:强类型好比是规定指定容器只能装指定的品类,肉和蔬菜不可混淆,而弱类型就是乱炖了。

很多编程的概念并没有我们想象中那么复杂,在这里给大家总结了一下,编程语言就是人和计算机交互的一种方式,计算机是靠开和关来操作,因此只能识别0和1的二进制,随着时代的发展,逐渐演化出更符合人类思维逻辑的高级语言,python即是其中之一。中国人讲究吃,这里以吃来比方,python好比是吃火锅,利用这个火锅(python的解释器),我们可以一边煮一边吃(运行时编译,属于解释型语言),火锅要很多配菜,我们就不讲究那么多,分什么红色盘子只能装肉,白色盘子只能装青菜了,放了肉就是装肉的盘子,放了青菜就是素材盘了(python是动态类型,不用给变量指定数据类型),当然为了更安全,肉类和素材不能放在同一盘子里(python是强类型语言,不同数据类型不可操作)

现在通过简单的几句话,你是否有了一个简单的理解呢?

知道了编程的基础,你才更能理解python的强大,那Python到底有多强大,都能做什么?请看下篇分解


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

CSS高效开发实战—CSS 3、LESS、SASS、Bootstrap、Foundation

CSS高效开发实战—CSS 3、LESS、SASS、Bootstrap、Foundation

谢郁 / 电子工业出版社 / 2014-9 / 59.00

想象一下,一个网页只有HTML,没有CSS,那就是素颜和上妆的区别。而一个网页只有CSS,没用CSS 3,那就是马车和汽车的区别!汽车代表的是高效、美观,CSS 3的意图也是如此。移动设备的流行导致了响应式设计的流行,而CSS 3正是实现这种设计的精髓。《CSS高效开发实战—CSS 3、LESS、SASS、Bootstrap、Foundation》围绕的就是如何跨浏览器、跨设备进行高效率的CSS开......一起来看看 《CSS高效开发实战—CSS 3、LESS、SASS、Bootstrap、Foundation》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具