英文原文:Charming Python: Functional programming in Python, Part 1 摘要:虽然人们总把Python当作过程化的,面向对象的语言,但是他实际上包含了函数化编程中,你需要的任何东西.这篇文章主要讨论函数化编程的一般概念,并说明用Python来函数化编程的技术. 我们最好从艰难的问题开始出发:“到底什么是函数化编程呢?”其中一个答案可能是这样的,函数化编程就是你在使用Lisp这样的语言时所做的(还有Scheme,Haskell,ML,OCAML…
在Python中,布尔类型还可以与其他数据类型做 and.or和not运算,请看下面的代码: In [1]: a = True In [2]: print(a and 'a=T' or 'a=F') a=T 输出为: a=T 计算结果不是布尔类型,而是字符串 a=T,这是为什么呢? 因为Python把0.空字符串''和None看成 False,其他数值和非空字符串都看成 True,所以: True and 'a=T' 计算结果是 'a=T' 继续计算 'a=T' or 'a=F' 计算结果还是…
a, b= 1, 2 将a和b两个变量中的最大值赋值给c (1)常规写法 if a>b: c = a else: c = b (2)表达式 c = a if a>b else b (3)二维列表 c = [b,a][a>b] (4)逻辑赋值 c = (a>b and [a] or [b])[0] 分析: 1.2为程序的基本语法不讨论 3:首先a>b的取值为True或False,而在python中True的默认值为1False的默认值为0. 可得…
作业: >>> print(5<4 or 3)3>>> print(2>1 or 6)True>>> print(5>1 and 0)0>>> print(5>1 and 0 or 1 and 0 <1>9 or 8)8>>> print(5>1 and 0 or 1 and 0 <1>9 )False ### and 返回第一个假值 或最后一个真值 or返回第一…