运算符
在众多的程序编程语言中,存在着各式各样的运算符,它们种类繁多,但是运用它们可以将复杂的问题简单化,在编程语言的学习中,少不了它们的存在。有些运算符在使用时,不仅可以对数值型变量运算,也可以对其他变量类型,如字符串类型、元组类型、集合类型等进行运算。
我们今天来学习python中会遇到的运算符,它们只要分为几类,主要包括算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符和成员运算符等,下面我们来一一列举。
算数运算符
算数运算符是我们在入门各种编程语言时都会遇到的,它在处理数值型变量时,可以帮我们解决简单的数学问题,有以下几种(如有遗漏请指正)
运算符 | 功能描述 |
---|---|
+ | a+b :计算两个数的和 |
- | a-b :计算两个数的差 |
* | a*b :计算两个数的积 |
/ | a/b :计算两个数的商 |
** | a**b :a的b次幂 |
// | a//b :计算商的整数部分 |
示例如下:
>>> a,b=5,2 #此处为python的变量定义方式,可以同时定义变量,相当于a=5,b=2
>>> a+b
7
>>> a-b
3
>>> a*b
10
>>> a/b
2.5
>>> a**b
25
>>> a//b
2
赋值运算符
赋值运算一般用于为变量赋值
运算符 | 功能描述 |
---|---|
= | a=b :将b的值赋给a |
+= | a+=b :等价于a=a+b |
-= | a-=b :等价于a=a-b |
*= | a*=b : 等价于a=a*b |
/= | a/=b :等价于a=a/b |
%= | a%=b :等价于a=a%b |
**= | a**=b :等价于a=a**b |
//= | a//b :等价于a=a//b |
需要注意的是“=”不仅能为数值型变量赋值,也可以为任何其他变量赋值。该部分比较简单,与我们平时常用的基础数学运算一致,故不再进行演示。
比较运算符
比较运算符主要是对数值的比较,最后都返回True 或 False ,一般用来用来判断条件
运算符 | 功能描述 |
---|---|
== | 判断两个值是否相等,是返回True,否返回False |
!= | 判断两个值是否不等,是返回True,否返回False |
> | a>b:判断a是否大于b,是返回True,否返回False |
< | a<b :判断a是否小于b,是返回True,否返回False |
>= | a>=: 判断a是否大于等于b,是返回True,否返回False |
<= | a<=b;判断a是否小于等于b,是返回True,否返回False |
示例如下:
>>> a , b = 1, 2
>>> a ==b
False
>>> a ! = b
>>> a != b
>>> a > b
False
>>> a < b
True
>>> a >= b
False
>>> a <= b
True
>>>
**注意:**由两个符号组成的双目运算符中间不能存在空格
逻辑运算符
逻辑运算主要就三种基础运算分别是 与、或、非,它们在python中的表达形式如下:
运算符 | 功能描述 |
---|---|
and | x and y :当两个操作都为真,则返回True,否则返回False |
or | x or y :当两个操作有一个为真,则返回True,否则返回False |
not | 用于状态翻转,not True 返回 False |
示例如下:
>>> a ,b = 1 ,2
>>> a>b and a<b #and 仅有在左右两个表达式都为True 才返回True,否则返回False
False
>>> a <b and b>a
True
>>> a>b or a<b #or 在左右两个表达式中有一个为True 时返回 True,否则返回False
True
>>>a >=b or a ==b
False
>>> not a>b #a>b 为False
True
成员运算符
成员运算符一般在条件判断时比较常用,通常用于if语句的条件判断
运算符 | 功能描述 |
---|---|
in | 如果在指定序列中找到目标值,则返回True,否则返回False |
not in | 如果未在指定序列中找到目标值,则返回True,否则返回False |
位运算符
位运算符针对计算机的二进制数进行运算
运算符 | 功能描述 |
---|---|
& | 按位与:在两个数的对应位都为1时返回1 |
| | 按位或:在两个数的对应位有一个为1时返回1 |
^ | 按位异或:在两个数对应位不同时返回1 |
~ | 按位非:对应位取反 |
<< | 位左移,每移动一位相当于扩大对应进制的倍数 |
>> | 位右移,每移动一位相当于缩小对应进制的倍数 |
示例如下:
a = 0011 1100
b = 0000 1101
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
位运算符例题:
猴吃桃问题:猴子第一天找下若干个桃子,当即吃了一半,还不过瘾,又吃了一个;第二天将剩下的桃子吃了一半,又多吃了一个。后面每天都吃前一天剩下数量的一半多一个。到第五天早上再想吃发现只剩一个桃子了,编程计算猴子第一天摘桃子的数量。
n = 1
for i in range(4,0,-1): #取值范围从4到1,每次循环-1
n = (n+1)<<1 #通过二进制左移将前一天的桃子数计算出来
print(n)
总结
运算符的种类很多,但是一般都是比较容易理解的计算,与数学中的基本运算几乎一致。在做程序时,将复杂的问题逐渐分解,在分解后,这些简单的运算符就变成了处理问题最简单有效的工具