17.Python 运算符
python语言支持以下类型的运算符:
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
Python算术运算符
运算符 | 描述 |
+ | 加-两个对象相加 |
- | 减-得到负数或是一个数减去另一个数 |
* | 乘-两个数相乘或是返回一个被重复若干次的字符串 |
/ | 除-x除以y |
% | 取模-返回除法的余数 |
** | 幂-返回x的y次幂 |
// | 取整除-返回商的整数部分(向下取整) |
注意:python2.x里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。
Python比较运算符
运算符 | 描述 |
== | 等于-比较对象是否相等 |
!= | 不等于-比较两个对象是否不相等 |
<> | 不等于-比较两个对象是否不相等 |
> | 大于-返回x是否大于y |
< | 小于-返回x是否小于y |
>= | 大于等于-返回x是否大于等于y |
<= | 小于等于-返回x是否小于等于y |
Python赋值运算符
运算符 | 描述 |
= | 简单的赋值运算符 |
+= | 加法赋值运算符 |
-= | 减法赋值运算符 |
*= | 乘法赋值运算符 |
/= | 除法赋值运算符 |
%= | 取模赋值运算符 |
**= | 幂赋值运算符 |
//= | 取整除赋值运算符 |
Python逻辑运算符
运算符 | 逻辑表达式 | 描述 |
and | x and y | 布尔“与”-如果x为False,x and y返回false,否则返回y的计算值 |
or | x or y | 布尔“或”-如果x是非0,它返回x的值,否则它返回y的计算值 |
not | not x | 布尔“非”-如果x为True,返回False。如果x为False,它返回True。 |
Python位运算符
运算符 | 描述 |
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 |
| | 按位或运算符:只要对应的两个二进制位有一个为1时,结果位就为1 |
^ | 按位异或运算符:当两个对应的二进制位相异时,结果为1 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 |
<< | 左移动运算符:运算数的二进位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0 |
>> | 右移动运算符:把">>"左边的运算数的二进位全部右移若干位,>>右边的数字指定了移动的位数 |
Python成员运算符
运算符 | 描述 |
in | 如果在指定的序列中找到值返回True,否则返回False |
not in | 如果在指定的序列中没有找到值返回True,否则返回False |
Python身份运算符
Python身份运算符用于比较两个对象的存储单元
运算符 | 描述 | 实例 |
is | is是判断两个标识符是不是引用自一个对象 | x is y,类似id(x) == id (y),如果引用的是同一个对象则返回True,否则返回False |
is not | is not是判断两个标识符是不是引用自不同对象 | x is not y,类似id(a) != id(b),如果引用的不是同一个对象则返回结果True,否则返回False |
注:id()函数用于获取对象内存地址
ps:
is与==区别:
is用于判断两个变量应用对象是否为同一个(同一块内存空间),==用于判断引用变量的值是否相等。
a = [1,2,3]
b=a
print(id(a), id(b))
print(b is a)
print(b == a)
b = a[:]
print(id(a),id(b))
print(b is a)
print(b==a)
2143207773576 2143207773576
True
True
2143207773576 2143207027656
False
True
Python运算符优先级
运算符 | 描述 |
** | 指数(最高优先级) |
~+- | 按位翻转,一元加号和减号(最后两个的方法名为+@和-@) |
*/%// | 乘 除 取模和取整除 |
+- | 加法减法 |
>><< | 右移 左移运算符 |
& | 位'AND’ |
^| | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
18.Python条件语句
python程序语言指定任何非0和非空(null)值为true,0或者null为false
python编程中if语句用于控制程序的执行,基本形式为:
if 判断条件:
执行语句......
else:
执行语句......
if语句的判断语句可以用> 、<、 == 、>=、 <=等来表示其关系。
当判断条件为多个值时,可以使用以下形式:
if 判断条件1:
执行语句......
elif 判断条件2:
执行语句......
elif 判断条件3:
执行语句3......
else:
执行语句4......
ps:
- 由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
- 当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
19.Python循环语句
循环语句允许我们执行一个语句或语句组多次,python提供了for循环和while循环(在python中没有do...while循环):
循环类型 | 描述 |
while循环 | 在给定的判断条件为true时执行循环体,否则退出循环体 |
for循环 | 重复执行语句 |
嵌套循环 | 你可以在while循环体中嵌套for循环 |
while循环:
while 判断条件:
执行语句......
for循环:
for iterating_var in sequence:
statements(s)
循环控制语句
循环控制语句可以更改语句执行的顺序,python支持以下循环控制语句:
控制语句 | 描述 |
break语句 | 在语句块执行过程中终止循环,并且跳出整个循环 |
continue语句 | 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环 |
pass语句 | pass是空语句,是为了保持程序结构的完整性 |