6.2.1 人类语言中的表达式
在日常生活中,人们经常藉由语言来表达自己的心情。说一句"我想你"抑或是"我喜欢你",用来直接表达对恋人的爱意。而"break up!","滚吧!","我不爱你了",则可能意味着一段恋情就此结束。将人类语言通过文字这种媒介来进行输出,丰富了语言表达的形式和含义。以下内容引自汤显祖《牡丹亭》的题记:
情不知所起,一往而深,生者可以死,死可以生。 生而不可与死,死而不可复生者,皆非情之至也。
从题记的文字描述以及在剧本中讲述的曲折爱情中,读者即可切身认同作者在开篇中表达的这一观点:
“天下女子有情,不及杜丽娘”。
不论是"爱意的表达",还是"失意的表达",都是藉由语言或文字来输出信息。人们在听,在读的过程中,可以感受到从语言或文字中传达的信息。关注薯条老师微信公众号[薯条编程],免费领取Python, 爬虫,数据分析,机器学习,深度学习的Python学习资料。
6.2.2 编程语言中的表达式
(1) 表达式有输出
编程语言中的表达式与人类语言中的表达式,它们存在一个很大的共同点: 输出信息。例如算术表达式"1+1",它表达的是1与1相加的计算过程,输出的值为2。关系运算表达式"1>1",它表达的是1是否大于1,输出的值为假。下表所示为编程语言中的常用表达式:
表达式类型 | 描述 |
赋值表达式 | 使用赋值运算符进行赋值的等式 |
算术表达式 | 使用算术运算符+,-,*,/等进行算术运算的式子,输出的是算术运算后的结果 |
关系表达式 | 使用>,<,==等操作符进行关系比较的式子,输出的是值进行比较的结果,为逻辑上的真或假 |
逻辑表达式 | 使用and, or, not等逻辑运算符进行将逻辑值进行连接的式子,输出的是表达式的真值或假值 |
在后面介绍数据类型时,会再对Python中的表达式及运算符作详细讲解。本节侧重于让同学们理解表达式的概念。
编程语言中的表达式可以相互组合,以构成一个复杂的表达式。在代码中遇到复杂的表达式时,同学们要学会将复杂的表达式进行分解:计算每一个子表达式的值,最后将其转换为一个简单的表达式。复杂的表达式举例:
# 先定义一个number变量,指向的值为1 number = 1 # 稍复杂的表达式 (number +1 > 2) and (0 or 1)
先将复杂的表达式进行分解,表达式(number +1 > 2) and (0 or 1)由两个子表达式组成:
1.(number +1 > 2) 2.(0 or 1)
在子表达式number+1 > 2中,先计算number+1的值,结果为2,number+1 > 2等价于2 > 2。表达式2 > 2的值为假。子表达式0 or 1是一个逻辑表达式。
同学们需注意,在Python中0值表示假值,非0值表示真值。
在逻辑或运算中,只要其中一个操作数为真值,就触发短路,输出为真值的操作数,所以表达式0 or 1的值为1,因为0是假值,1是真值。
最后将各子表达式的值进行组合,那么表达式(number +1 > 2) and (0 or 1)等价于"假 and 1",在逻辑与运算中,
只要其中一个操作数为假值,就触发短路,输出为假值的操作数,所以表达式最终的值为"假"。
(2) 输出表达式的值
print是Python的内置函数,可以将表达式的值输出到终端。print函数的基本用法:
print(value)
value表示表达式的值,可以同时输出多个表达式的值,表达式以逗号进行分隔。
代码实例:
# print是Python中的内置函数,用来输出值,用双引号括住的为字符串类型 print("hello world") # 输出多个表达式 print("hello world", 2020)
6.2.3 语句是一个执行过程
(1) 条件控制语句
编程语言中的语句,表达的是一个执行过程,通常没有输出。以Python中的条件控制语句来举例,它根据表达式的值的真假来控制代码的执行过程。请同学们先看以下一段Python代码:
""" @author: 薯条老师 @desc: 从上到下执行程序指令 """ state = 0 print("开心") print("不开心")
Python是一种解释型语言,它会线性地从上到下执行代码中的指令。最终程序的输出为:
开心 不开心
同学们可以将实例代码写到脚本文件,然后通过pycharm或者vs code来执行脚本程序。对IDE不熟悉的同学,可以先回顾下在第二章中介绍的内容。
Python中的条件控制语句是通过if语句来实现逻辑控制的结构。条件控制结构的基本语法形式:
if expression: # 执行相应的代码 else: # 执行相应的代码
expression表示表达式,if语句会根据表达式的输出来判断是否执行:下方的代码。如果表达式的值为真值,那么会执行冒号下方的代码,否则不会执行。else表达的是if语句中的表达式的值为假的情况下,就执行else语句冒号下方的代码。
if有如果的意思,表示如果发生了某种情况就执行什么样的操作,else表示否则的意思,即在if语句中指定的条件不成立的情况下,就执行相应的操作。
现在将上文的代码通过条件控制来进行改写,改写后的代码:
state = 0 if state == 0: print("开心") else: print("不开心")
程序的输出为:
开心
在改写后的代码中,表达式state==0的值为真值,因为变量state指向的值为0,0与0相等,输出为真。所以会执行if语句冒号下方的代码:
print("开心")
所以最终通过print函数输出的值为开心。
(2) 空语句
在Python中用pass来表示空语句。空语句,顾名思义,不包含任何语句,使用空语句,是为了保持程序结构的完整性,起个占位符的作用。
6.2.4 最具实力的小班培训
薯条老师在广州有开设线下培训班,小班授课模式,一班最多6个人。也可一对一授课,全程帮助你学好计算机,实现高薪就业。不在广州的同学可提供住宿,也可以报名线上小班,用腾讯会议上直播课。
(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python中高级爬虫逆向工程师就业班,月薪15K-25K,包拿Offer
(3) Python数据分析+商业分析+数据科学就业班,企业级项目实战,月薪10K-20K
(4) Python量化交易就业班,A股+期货+数字货币量化,月薪10K-40K
(5) Python机器学习+深度学习算法工程师,月薪20-50K
跟薯条老师学习的学生有拿到花生日记,林氏家居,南方电网,京东, 阿里等公司的offer, 学生的最低薪资有6K,最高薪资有18K, 平均就业薪资有11000。
扫码咨询薯条老师:
已有2位薯条发表了看法:
访客 评论于 2020-05-04 17:08:17 回复
为啥用一堆if else的人会被鄙视
薯条老师 评论于 2020-05-05 14:50:23 回复
一堆if,else会影响代码的简洁,优雅,可维护性。可以使用其它的来进行代替,比如map结构