上述运算符有优先级之分,+,-运算优先级最低,**优先级最高,*、/、//符号的优先级介于加减运算和乘方运算之间。计算时优先级相同的符号从左至右运算,优先级不同的符号先进行优先级高的运算,比如:
3+5*7//2-5**2
先做乘方运算结果为
3+5*7//2-25,乘法和整除优先级相同,先完成左侧的运算,结果为
3+35//2-25,整除优先级高于加减,先做整除运算,结果为3+17-25,加减运算优先级相同,先完成左侧的运算,结果为20-25,最后做减运算,结果为-5
2、字符运算符
字符运算符只有+和*两种运算,分别完成字符串的连接和重复,前面已介绍,此处不再重复。
3、关系运算
关系运算的结果是逻辑值True或False,关系运算符用于比较两个同类数据间的大小。
如果关系成立(满足),则结果为True,如果关系不成立(不满足),则结果为False。
4、逻辑运算符
逻辑运算符前面已经介绍过,现将它们按优先级的高低重新列出。
not
逻辑非
and
逻辑与
or
逻辑或
这三个运算符分为三个级别,not优先级最高,or优先级最低。逻辑运算一般和关系运算结果起来使用。关系运算的优先级高于逻辑运算,请看下面的例子:
注意数值运算符的优先级高于关系运算,关系运算符的优先级高于逻辑运算。
【例题1】求下列运算的结果
1)3>4 or 6>7
and not 5==6
先做关系运算,上式化为:False
or False and not
False
因逻辑非运算的优先级最高,所以接着做逻辑非运算,上式化为:False
or False and True
再做逻辑与运算,上式化为:
False or False
最后做逻辑或运算,最后结果为False
2)(当a=3,b=4时求下列式子的值
a!=b and a>=b or
a<=b-1
先作关系运算,上式化为:True
and False or True
因or的优先级最低,而or运算的规则是只要参与运算的两个逻辑值有一个是True结果就为真,所以不用考虑and运算的结果,可以直接得到最后的结果为True(因
or
运算符的右侧为True,所以可以不管左侧为何值,结果均为True)
逻辑运算有重要的实际意义,请看下面例子。
【题题2】下面的“语文成绩”和"数学成绩"均是变量,说出下列逻辑表达式为True的条件。
1)语文成绩>=90 and 数学成绩>=90
2)语文成绩<60
or 数学成绩<60
【解答】:当语文成绩和数学成绩两个变量的值,都大于或等于90时,上面的逻辑表达式的值才为True,只要两科成绩中有一个值小于90,则上面的逻辑表达式的值就为False.
上面逻辑表达式在实际编程中常用作判断学生两科成绩均优秀的条件。
所以逻辑“与”运算描述的是当几个并列的条件都具备时总条件才满足的逻辑关系。
再看题中的第二个逻辑表达式:语文成绩<60
or 数学成绩<60
语文成绩和数学成绩,这两个变量中只要有一个变量的值小于60,表达式的值就为True,这恰是判断需补考学生的条件。因为只要有两个条件均不满足时总条件才不满足,只要有一个条件满足,总条件就满足,这恰是“或”运算的特点,所以逻辑“或”运算描述的是当几个并列的条件只要有一个条件具备,则总条件就可以满足的一种逻辑关系。
下面可在Python解释器窗口的提示符后面输入相关的命令进行检验。参见下图。
上面窗口中的蓝色文字是命令执行后的结果,其余文字均为键盘输入。
【例题2】下列逻辑表达式中的变量x满足什么条件时,逻辑表达式的值为True.
1)x%3==0 and
x%5==0
2)x%3==0 or x%5==0
3)x%2==0 and
x<10
【解答】第一题中的“%”运算符的优先级高于关系运算,所以先进行求余数的运算,然后进行关系运算,只有当x的值是3的倍数时关系才满足(即表达式的值才为True)。
同理表达式x%5==0中,只有当x是5的倍数时表达式的值才为True,
最后的逻辑表达式表示:当x既是3的倍数,也是5的倍数时表达式的值才为Truw,这个逻辑表达式常被用在程序中筛选既是3的倍数又是5的倍数的那些数。
第二题的意义是只要x是3的倍数或是5的倍数,表达式的值就为True,这个条件常用在程序中筛选出3的倍数或是5的倍数的那些数。
第三个式子x%2==0 and
x<10表示当x是偶数且小于10时条件为真(表达式的值为True)
下面可在Python解释器窗口的提示符后面输入相关的命令进行检验。参见下图。
二、表达式
将常量、变量、运算符或下面将要介绍的函数组成在一起形成有意义的式子,就是表达式。表达式就像数学课中学习的代数式,只不过这种的数据类型更丰富。
表达式可以很简单,也可能很复杂,普通一个常量就可看作是最简单的表达式,上面例题中的关系运算中的式子就是表达式,下面列出的也都是表达式。
a+b**c
30-14//3
a
40
44+pow(2,3)+int(3.14)
x%3==0 or x%5==0
语文成绩<60
or 数学成绩<60
上面的pow()和int()都是函数,括号中的值是函数的参数,也就是数学中所说的自变量。但Python中,有些函数可以无参数。
当表达式中有多种运算符时,先计算优先级高的运算符。
三、函数
函数是一段相对独立的且能完成某种特定功能的程序代码,我们可以通过引用函数的名称随时使用函数的功能来完成特定的任务,比如我们可以在程序中随时使用函数“pow(a,b)”来求a
的b次方的值,每个函数都有一个名称,我们通过名称来使用函数,有些函数还需要参数,我们使用函数时将参数放置在函数名称后面的括号中,有些函数无参数,即使是无参数的函数,我们调用它时,函数名称后面的括号也不能省略。
Python中的函数分为三类,一类是内置函数,这一类函数随时可以使用,另一类是库函数,这类函数要使用,必须在程序开始先用一条命令将函数导入到当前程序中,然后才可以使用,第三类函数是用户自定义函数,用户可以根据需要自行定义自己所需的函数。
1、Python的内置函数
我们在Python解释器窗口的提示符后输入如下命令,系统即显示出全部Python当前版本所提供的全部内置函数。
dir(__builtins__)
不过请注意,上面括号中的横线实际是两条下划线,输入时请不要输错。
现介绍几个常用的内置函数:
1)help():帮助函数,该函数可以帮助我们学习其他函数的功能,将我们要了解的函数名称作为help函数的参数放置在括号中,比如help(pow),按下回车键后系统将显示出pow()函数的功能和用法。但说明文字是以英文的形式进行描述的,参见下图。
2)pow函数
一般格式
pow(a,b,c)
实现的功能:计算a的b次方,再结果除以c求余数,如果括号中省略参数c,则只求a的b次,参见下图。
3)int 函数
一般格式:int(a)
功能一:求出a的整数部分。比如a=12.7456,则int(a)的值是12
功能二:将整数构成的字符串转换为整数(即去掉字符串的引号),比如int("123")的函数值为123,即字符串"123"被转换成整数值123。
此处只介绍这三个函数,其他函数后面再介绍。
2、库函数
库函数可以是安装软件时自带的程序模块,也可能是其他个人若机构开发的程序模块,使用时要先导入后,才能使用,比如我们要使用常用的数学函数,则我们可以在程序的开始加上一条语句:
from
math import *
这条语句导入了math函数库中的全部函数,加入这条语句后,下面的函数都可以使用。其中math是数学库函数的模块名称,*代表全部函数。
整条命令的含义是从math库导入全部函数。
重新启动Python解释器后输入以下两条命令,可以查看新导入的数学函数,窗口中蓝色字体显示的所有不是以横线开头的函数,都是新导入的数学函数。
from
math import *
dir()
参见下图。
我们常用的求正弦、余弦、对数、指数、平方根的函数均包括在其中。
3)自定义函数
后面介绍函数的自定义方法和使用方法。届时将对函数作更深入的讨论。