<
>

Python的基础知识(三)

2020-07-31 17:23:26 来源:易采站长站 作者:

Python的基础知识(三)
运算符与表达式
算数运算符

运算符说明
+
*
/
%求余,即返回除法的余数
//取整数,即返回商的整数部分
**幂,即返回x的y次方

注意:在算数操作符中使用%求余,如果除数(第二个操作数)是负数,那么取得的结果也是一个负值。

赋值运算符

运算符说明
=简单的赋值运算
+=加赋值
-=减赋值
*=乘赋值
/=除赋值
%=取余数赋值
**=幂赋值
//=最整除赋值

比较(关系)运算符

运算符作用
>大于
<小于
==等于
!=不等于
>=大于等于
<=小于等于

逻辑运算符

运算符含义用法结合方向
and逻辑与op1 and op2左到右
or逻辑或op1 or op2左到右
not逻辑非not op右到左

位运算

位运算是把数字看做二进制数来进行计算的,因此,需要先将要执行运算的数据转换为二进制,然后才能执行运算。Python中的位运算符有按位与(&)、按位或(|)、按位或与(^)、按位取反(~)、左移位(<>)运算符

1.“按位与”运算

“按位与”运算的运算符为“&”,它的运算法则是:两个操作数据的二进制表示,只有对应位都是1时,结果位才是1,否则为0。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。

2.“按位或”运算

“按位或”运算的运算符为“|”,它的运算法则是:两个操作数据的二进制表示,只有对应位都是0时,结果位才是0,否则为1。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。

3.“按位异或”运算

“按位异或”运算的运算符是“^”,它的运算法则是:当两个操作数的二进制表示相同(同时为0或同时为1)时,结果为0,否则为1。若两个操作数的精度不同,则结果数的精度与精度高的操作数相同。

4.“按位取反”运算

“按位取反”运算也称“按位非”运算,运算符为“~”。“按位取反”运算就是将操作数对应二进制中的1修改为0,0修改为1。

5.左移位运算符<<

左移位运算符<<是将一个二进制操作数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用0补充。左移位运算相当于乘以2n

6.右移位运算符>>

右移位运算符>>是将一个二进制操作数向右移动指定的位数,右边(低位端)溢出的位被丢弃,而在填充左边(高位端)的空位时,如果最高位是0(正数),左侧空位填入0;如果最高位是1(负数),左侧空位填入1.右移位运算相当于除以2n。

说明:由于移位运算的速度很快,在程序中遇到表达式乘以或除以2n的情况时,一般采用移位运算来代替。
运算符的优先级

类型说明优先级
**
~、+、-取反、正号和负号
*、/、%、//算数运算符
+、-算数运算符
<>位运算符中的左移或右移
&位运算符中的按位与
^位运算符中的按位异或
位运算符中的按位或
<、、>=、!=、==比较运算符

条件表达式

在程序开发时,经常会根据表达式的结果有条件地进行赋值。例如,要返回两个数中较大的数,可以使用以下的if语句。

a = 10
b = 8
if a > b:
r = a
else:
r = b

上面的代码可以使用条件表达式进行化简,代码如下:

a = 10
b = 8
r = a if a > b else b

使用条件表达式时,先计算中间的条件(a>b),如果结果为True,返回if语句左边的值,否则返回else右边的值。例如上面的表达式的结果,即r的值为10。

作者:神秘の松果

暂时禁止评论

微信扫一扫

易采站长站微信账号