[Python and or ]Python 中 and or 之 我的理解
c代码:
int x = a>b?6,6;
这种语句Python中也有:
可以通过and or组合来实现。个人认为这种语句尽量少点好。
python把这类型的功能发扬光了大。但是由于这种组合比较绕,所以有时候比较纠结:
比如:
5 or 6 and 6 返回what?
0 or 5 返回what?
8 and 7 返回what?
于是整理了下:
1.pyhon 中用 0 ,‘’,[],(),{},None 来表示False,其它都是True.这个是基础
2.复习下C中短路的原理:
在c中的if语句后面的条件语句 :以下用 A B C 分别表示 条件语句
形如: if(A||B||C)在C语言中会怎么处理呢?
因为存在短路 所以如果A为真,那么C语言根本就不会去test B和C的真假,整个表达式就是真。
形如: if(A&&B&&C)同理:
因为存在短路 所以如果A为假,那么C语言根本就不会去test B和C的真假,整个表达式就是假。
可以这样理解and最怕假。因为只要一个假,就全假了,or最怕真因为只要有一个真就全真了,
还有很重要一点这里的所有的运算顺序都是从左到右的。
3.Python中也类似:
所有的运算都是从左到右:
形如A and B and C,Python会从A->C逐个test,将第一个假返回,如果没有一个是假,那返回最后一个,
因为最后一个的真符合整个表达式的逻辑.
形如 A or B or C,Ptthon 从左到右,将第一个真返回。如果到了最后还没发现真 那就将最后一个C返回,
因为最后一个的假符合真个表达式的逻辑.
4. and 和 or的组合?
因为and 和or 运算优先级相同,所以以下俩式是等价的:
A or B and C == (A or B) and C
挨个运算就可以了。。。。
5.中间有括号咋办?
括号以此类推即可。
总结完毕 呵呵
给个例子:
相关文档:
(1).当"print os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径,比如:
python d:\pythonSrc\test\test.py
&nb ......
最近看可爱的python,里面有很多以前没有注意的东西。书是借的,期待到2月27号,社区解除图书静默。
图书大概分了3个部分。第一部分主要是本地编程的过程,第二部分主要是网页编程。第三部分是小纸条,
提供了很多知识点的速记。
以前也上过woodpecker,正如网站上写的,确实很乱。我经常不知道看哪,这个只能多逛。书中 ......
8.Python中没有switch语句,可以用if..elif..else语句完成同样的工作(某些场合,使用字典会更加快捷)
9.while语句包含一个else的从句.
10.range向上延伸到第二个数,即它不包含第二个数.
11.使用global语句可以清楚地表明变量是在外面的块定义的. ......
Python支持ascii字符串,unicode字符串,以及各种字符集,那么它们到底各是什么概念,相互之间存在何种关系呢?
在Python中,ascii字符串,即str类型的值,可能用来表示任意的一块存储空间,那么也就是说,这个字符串内部可以是任何值,例如:可见字符组成的字符串,或者一段二进制数据等。unicode字符串,即unicode类型的 ......