本篇文章共4个章节:1. 初学者是否有必要学习编程专业词汇2. 表达式的概念3. 表达式的应用4. 总结

1. 初学者是否有必要学习编程专业词汇

有必要,很有必要。

表达式是一个很专业的词汇,但凡是搞编程的,恐怕没有不理解的,即便说不出准确的定义,也能大概理解其中含义。对于初学者而言,有必要和这些专业词汇较劲么,我认为有必要。

有些教程或者文章,喜欢用大白话讲解,固然可以降低初学者学习门槛,可是,编程本身是一项专业性很强的技术,所涉及到的概念,如果不能准确理解,正确使用,一开始影响倒也不大,因为你大多数时间都是在照猫画虎。但肯定会影响到你后续的学习,这是因为随着学习的深入,你遇到的问题变得复杂,复杂到不使用专业词汇就无法精准的定义和解释问题,大白话文章无法让你更上一层楼,你只能永远肤浅的入门,然后一辈子在一楼打转

2. 表达式的概念

先来看百度百科里的定义:

表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合

这个定义有点长,不好理解,咱们做个优化,将其总结为一个更短更容易理解的定义:表达式是可以被求值的代码

有了这个定义,下面罗列一些表达式

4 > 5

3 == 3.0

'abc' == 'abc' and True

5

(4 + 5)

5 >> 1

7 > 4 or (1 == 1 and 6 > 7)

每一行都是一个表达式,他们有一个共同点,可以被求值,如果用print输出这些表达式,总能输出一个数值

3. 表达式的应用

表达式的应用无处不在,如果没有表达式,也就没有编程这个事情了

3.1 赋值语句

这应该是表达式使用最多的场景了

我们甚至可以粗暴的认为,所有赋值语句中,等号的右边都是表达式,在执行赋值语句时,先要计算等号右侧的表达式,将表达式的结果赋值给等号左侧的变量

a = 3 > 4 or True

a 最终的值为True

3.2 if 语句

if 表达式1:

语句块1

elif 表达式2:

语句块2

else:

语句块3

紧跟在if 后面的部分(表达式1)就是表达式,当这个表达式的结果为True时,执行语句块1,否则判断紧跟在elif后面表达式2,如果表达式2的结果为True,则执行语句块2,如果前面的两个表达式的结果都是False,则最终执行语句块3。

一些文章在讲述表达式为True时,会用表达式成立这样的说法,其实是一个意思。

下面是程序流程图


不论if语句中有多少个逻辑分支,永远只会进入其中一个,即便其他的表达式也是成立的,因为在执行if语句时,遵守短路原则,前面的判断语句如果成立了,后面的判断语句就不会被执行,相当于打麻将时的截胡。

3.3 while 循环

while 表达式A:

语句块A

如果表达式A成立,则执行语句块A,语句块A执行结束后,会再次判断表达式A是否成立,成立继续执行语句块A,不成立,循环结束,下图为循环流程示意图


3.4 函数返回值

def add(a, b):

return a + b

上述代码中的a + b就是一个表达式,a + b的结果作为函数的返回值返回

4. 总结

或许你觉得表达式太简单了,但编程就是由这些看似十分简单的概念构成的,不要认为简单就粗心大意,真的让你写程序时,恐怕你就不知道表达式该咋写了。