WEB开发网
开发学院软件开发C语言 从C#到Python:2 运算符、表达式和流程控制 阅读

从C#到Python:2 运算符、表达式和流程控制

 2010-09-30 22:36:47 来源:WEB开发网   
核心提示: 2.1.3 逻辑运算符与逻辑表达式 Python的逻辑运算符与C#有较大区别,Python用关键字and、or、not代替了C#语言中的逻辑运算符&&、|| 和! ,从C#到Python:2 运算符、表达式和流程控制(2),此外Pyhton中参与逻辑运算的操作数不限于布尔类型,任何类型的值都可以

2.1.3  逻辑运算符与逻辑表达式

Python的逻辑运算符与C#有较大区别,Python用关键字and、or、not代替了C#语言中的逻辑运算符&&、|| 和! ,此外Pyhton中参与逻辑运算的操作数不限于布尔类型,任何类型的值都可以参与逻辑运算,参见1.2.2节(布尔类型)的讨论。

用逻辑运算符将操作数或表达式连接起来就是逻辑表达式。与C#一样,Python中的逻辑表达式是“短路”执行的,也就是说只有需要时才会进行逻辑表达式右边值的计算,例如表达式 a and b 只有当a为True时才计算b。思考一下,if (0 and 10/0): 这条语句会引发除数为零的异常吗?

此外还要注意:在Python 中,and 和 or 所执行的逻辑运算并不返回布尔值,而是返回它们实际进行比较的值之一。下边是一个例子:

1 print 'a' and 'b'
2  #输出b
3  print '' and 'b'
4  #输出空串

2.1.4  关系运算符与关系表达式

关系运算实际上是逻辑运算的一种,关系表达式的返回值总是布尔值。Python中的比较操作符与C#是完全一样的,包括==、!=、>、<、>=和<=共6种。

除了基本的变量比较外,Python的关系运算符还包括身份运算符is。在Python中,is用来检验两个对象在内存中是否指向同一个对象(还记得“一切数据皆对象吗,一切命名皆引用”吗?)。注意Python中is的含义和C#有所不同,在C#中,is 操作符被用于动态地检查运行时对象类型是否和给定的类型兼容。例如,运算e is T ,其中e 是一个对象,T 是一个类型,返回值是一个布尔值,它表示e是否能转换于 T 类型。

2.1.5  三元运算符

三元运算符是C/C++/C#一系语言所特有的一类运算符,例如,对表达式b? x: y,先计算条件b,然后进行判断,如果b的值为true,则计算并返回x的值,否则计算并返回y的值。

上一页  1 2 3 4 5 6 7  下一页

Tags:Python 运算符 表达式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接