首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

Python语言课程算术运算与算术表达式

2013-11-09 
Python语言教程算术运算与算术表达式一个表达式可以分解为运算符和操作数,运算符的功能是完成某件事,它们

Python语言教程算术运算与算术表达式

一个表达式可以分解为运算符和操作数,运算符的功能是完成某件事,它们由一些数学运算符号或者其他特定的关键字表示;运算符需要数据来进行运算,这样的数据被称为操作数。例如,2 + 3是一个简单的表达式,其中+是运算符,2和3是操作数。

算术运算符与算术表达式

算术运算符是程序设计语言最基本的运算符。Python语言教程提供的算术运算符除了+、-、*、/、%(求余)之外,还提供了两种C#中未提供的运算符:求幂(**)和取整除(//)。下面我们通过一段代码来理解这两个算术运算符:

  1. #-*-coding:utf-8-*-? ?x?=?3.3? ?
  2. y?=?2.2? ?a?=?x**y? ?
  3. print?a?#输出13.827086118,即3.3的2.2次幂,在C#中可用Pow方法实现幂运算? ?b?=?x//y? ?
  4. print?b?#输出1.0,取整除返回商的整数部分 ?c?=?x/y11?print?c#输出1.5,注意体会普通除与取整除的区别?

赋值运算符与赋值表达式

赋值就是给一个变量赋一个新值,除了简单的 = 赋值之外,Python和C#都支持复合赋值,例如x += 5,等价于 x = x + 5。

Python语言教程不支持C#中的自增和自减运算符,例如x++这种语句在Python中会被提示语法错误。C#程序员可能用惯了这种表达方式(要不为什么叫C++++呢),在Python中,请老老实实的写x += 1就是了。

逻辑运算符与逻辑表达式

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' ?#输出b ?
  2. print?''?and?'b' ?#输出空串?

关系运算符与关系表达式

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

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

热点排行