运算符和运算数组成表达式。运算符和运算数的出现次序会影响表达式乃至程序设计语言的风格。

1.前缀表达式

前缀,是指运算符的位置在前。前缀风格的一个例子是函数调用,如求最大值函数:max(3, 2, 5)。函数max接收若干个运算数,计算其中最大者作为表达式的值。这种前缀函数调用形式称为面向过程的函数调用风格。

1+2也可以写为前缀形式(+ 1 2)。Python不使用这种形式,但著名的程序设计语言Lisp就使用这种风格。[1]

2.中缀表达式

中缀,顾名思义是指运算符的位置在中间。1+2毫无疑问属于中缀表达式,但更值得注意的是面相对象风格的函数调用,如:"helloPythonworld".split(" ")。这个表达式里的运算是split函数,这个函数接受两个参数:第一个是字符串"helloPythonworld",第二个是空格字符串" "。计算的过程则是以空格为分隔符切割字符串,得到一个包含切割结果的列表["hello", "Python", "world"]。

面向过程和面向对象风格的函数调用在Python中都有广泛应用。本书从开始就普遍使用这两类风格的函数调用。本书将在第2章详细讨论函数,在第四章详细讨论面向对象设计。

3.后缀表达式

(1 2 +)是后缀表达式。后缀表达式和人们在进行竖式演算的书写次序一致(先写下数字,再写运算符,再计算结果),如图 1.1 所示。

图 1.1 竖式运算

某些高级计算器支持以后缀次序输入算式,如HP48G。在程序设计语言的语法规则中,后缀序比较少见。本书在1.8.5 节的示例中使用了后缀表达式。

[1] 有兴趣的读者可以参阅《程序设计语言的构造和解释》 [39],该书通篇用一种LISP语言的方言Scheme写就,是计算机科学领域的经典书籍。

这是一本很有趣很有趣的Python入门书,墙裂推荐。

最新文章

  1. x86架构手机跑安卓好吗?(脑补)
  2. Ehcache BigMemory: 摆脱GC困扰
  3. jdk研究——java.lang
  4. Android_TextView之跑马灯效果
  5. Java并发编程:如何创建线程?
  6. ruby中实例变量、类变量等等的区别和联系
  7. Android开源项目(转载)
  8. Hibernate 一对多单向关联Demo
  9. 武汉科技大学ACM :1010: 零起点学算法103——一只小蜜蜂...
  10. Swift 断言
  11. MvcMovieStore mvc5.0,EF6.01
  12. .Net Core 学习资料
  13. UIButton 中高亮取消
  14. git 入门教程之分支策略
  15. python进行进制转换
  16. Can't connect to MySQL server (10060) MySQL
  17. LODOP中平铺图片 文本项Repeat
  18. 奇怪吸引子---LuChen
  19. mybatis动态传入表名、列名
  20. POJ 2828Buy Tickets(线段树的单点维护)

热门文章

  1. 【CF1181D】Irrigation
  2. Puppet部署:安装puppet server、client
  3. websocket练习
  4. 30 最小n个数
  5. Python 练习实例3
  6. Python 面向对象Ⅴ
  7. os.system 的坑,'C:\Program' 不是内部或外部命令,也不是可运行的程序 或批处理文件
  8. MySQL数据库中的索引(一)——索引实现原理
  9. [LOJ6433][PKUSC2018]最大前缀和:状压DP
  10. RMQ的ST算法