现阶段的主要矛盾是落后的生产力不能满足日益增长的物质文化需求

注册 | 登陆

第四节

看完了,对数组的映射和过滤有了比较清楚的了解,这么快就看到了最爱用的三元运算,这章的例子非常有用,我默了出来

Python代码
  1. def setRunEnv():  
  2.     import sys  
  3.     sys.path.append('D:\project\mypy')  
  4. setRunEnv()  
  5. def info(object, spacing = 10, collapse = 1):  
  6.     methodList = dir(object)  
  7.     methodList = [method for method in methodList if callable(getattr(object, method))]  
  8.     processFunction = collapse and (lambda s:" ".join(s.split())) or (lambda s:s)  
  9.     return "\n".join(["%s%s" % (method.ljust(spacing),  
  10.         processFunction(str(getattr(getattr(object, method), "__doc__"))))  
  11.         for method in methodList])  
  12. li = []  
  13. #print info(li, 20, 0)  
  14. print 1 and 'ok' or 'no'  
  15. print 1 and '' or 'no'  
  16. print 1 and [''or 'no'  
用and和or进行判断,我用这种偷懒的方法写PHP还是比较单一,一般就是一个and或or,这里直接把这个当三元来用。太帅了。。逻辑表达式PHP虽然返回的true或false,但是PHP可以直接赋值,所以也可以用这种方式。

PHP代码
  1. <?php  
  2. $a = 1;  
  3. $b = '';  
  4. $a == 1 && ($b = 'ok') || ($b = 'no');  
  5. echo $b;  
  6. ?>  
很有意思,py逻辑表达式可以返回最后的值,但里面不能进行赋值操作,一赋值,报syntax error

Python代码
  1. a==1 and b='ok' or b='no'  
PHP虽然返回只是表达式最后运算的结果,但可以进行赋值操作,所以他们都可以用这种写法。

第二个表达式一定不能为 false,否则完蛋。。

 

 

Tags: python

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

发表评论

评论内容 (必填):