算法与表达式

算法和表达式是编程的灵魂,是与机器沟通的桥梁,准确的表达式能够准确的告诉计算机该做什么。

算法

我们在学编程的过程中,经常会听到身边的开发工程师,或者一些人在谈论,说设计一个算法去实现什么什么功能。对计算机了解不太深入的人,一听这个算法,觉得好高深。其实反过来想,当我们把问题想明白之后呢,你就觉得算法也是仅此而已,没有多么高深。

那么,首先,什么叫做计算机的程序设计。说白了,就是告诉计算机要做什么,怎么去实现!算法呢?计算机可以做很多事情,但是计算机本身它不会自主思考,需要程序员,或者开发工程师告诉它怎么去实现。那也就像我们现在这个阿尔法狗一样,或者说就像视觉图像一样,其实它是识别不出来的。你如果没把识别方法告诉它,它是识别不出来你下的围棋是什么?

视觉图像识别领域,如果你不在数据库里面大量的提前输入了一些资料,告诉他让他去学习、认知的话,他是不知道这个是猫,那个是狗的。所以,算法呢,就是告诉计算机要去做哪些事情,怎么去实现。这就是算法,那如果这个例子还不太明白的话,我们看下面一个示例。

假如你想去做一顿美味的咖喱牛肉。你首先要拿一些咖喱,然后呢,再放一些牛肉,再放一些咖喱和洋葱冰。 当然也有一些分量的要求。如果你比较喜欢吃咖喱,你可以再多加一些咖喱。然后,等搅拌熟了为止,而且在中间每隔15分钟都要去检查一下。这就是一个流程,也是一个算法。指令是什么呢,无非就是是咖喱牛肉,洋葱丁等等,以及你要煮多久,多长时间看一次,都是一条一条指令。

我们经常做饭的时候,会去看一些菜谱,菜谱告诉你说要放多少盐,加多少糖,然后煮多长时间,基本上按着做,就做一个八九不离十的一个美食出来了。所以这就是算法,这是我们现实中的算法,我们的计算机里边呢,也是这样实现的。

算法在我们程序开发过程中对应的又是什么?那就是表达式。我们在学习Python或者学习任何一门语言里边,甚至在上小学和求学过程中,里边经常会接触到数学,例如基本的加减乘除等。

表达式

表达式其实就是指令,告诉计算机做什么,常用的表达式:

  • +,加法

  • -,减法

  • / , 除法

  • %,取余

  • //,整除

  • **,幂

以上就是基础运算法,与数学表达式里面的加减乘除都是一一对应的,也是复杂表达式的基础,当然,还有更多的操作,可以在学习的过程中逐渐了解。如下示例,分别计算2*2, 1/2, 1 // 2等表达式,结果打印到控制台。

可以看到,计算机能够快速帮助计算出结果。

### 数据类型

Python有如下基础的数据类型:

整数、浮点数(小数)都是用来表示数字的,字符串可以用来表示一段文本,布尔类型就是真与假,是一种逻辑值。列表、字典都是集合类型,表示多个对象的集合。在编译器中,分别打印这些数据类型,观察结果:

最后

算法和表达式是编程的两个核心概念,但这两个概念十分抽象,不容易理解。直白来说,算法就是解决方案,表达式就是将这个解决方案变成计算机语言的过程。表达式和算法都是编程不可获取的两个过程,深入理解这两个概念也就明白什么是编程了。

IT赶路人

专注IT知识分享