python学习之路,基础篇-运算符和表达式
python支持算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符、字符串运算符、成员运算符和身份运算符等基本运算符。
1、算术运算符
算术运算符可以实现数学运算,python的算术运算符如下表:
| 算术运算符 | 具体描述 | 例子 |
| + | 相加运算 | 1+2的结果是3 |
| - | 相减运算 | 100-1的结果为99 |
| * | 乘法运算 | 2*2的结果为4 |
| / | 除法运算 | 4/2的结果为2 |
| % | 求模运算 | 100%3的结果为1 |
| ** | 幂运算,x**y返回x的y次幂 | 2**3的结果是8 |
| // | 整除运算,即范围商的整数部分 | 9//2的结果为4 |
2、赋值运算符
赋值运算符的作用是将运算符右侧的常量或变量的值赋值到运算符左侧的变量中,python的赋值运算符如下表:
| 赋值运算符 | 具体描述 | 例子 |
| = | 直接赋值 | x=3;将3赋值到变量x中 |
| += | 加法赋值 | x+=3;等同于x=x+3; |
| -= | 减法赋值 | x-=3;等同于x=x-3; |
| *= | 乘法赋值 | x*=3;等同于x=x*3; |
| /= | 除法赋值 | x/=3;等同于x=x/3; |
| %= | 取模赋值 | x%=3;等同于x=x%3; |
| **= | 幂赋值 | x**=3;等同于x=x**3 |
| //= | 整除赋值 | x//=;等同于x=x//3; |
赋值运算符使用实例:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 x = 3 4 print(x) 5 6 x += 3 7 print(x) 8 9 x -= 3 10 print(x) 11 12 x *= 3 13 print(x) 14 15 x /= 3 16 print(x) 17 18 x %= 3 19 print(x) 20 21 x **= 3 22 print(x) 23 24 x //= 3 25 print(x) 26 27 28 #输出结果为: 29 3 30 6 31 3 32 9 33 3.0 34 0.0 35 0.0 36 0.0
3、位运算符
位运算符允许对整型数中指定的位进行置位,python 的位运算符如下表:
| 位运算符 | 具体描述 |
| & | 按位与运算,运算符查看两个表达式的二进制表示法的值,并执行按位“与”操作,只要两个表达式的某位都为1,则结果的该位为1;否则,结果的该位为0 |
| | | 按位或运算,运算符查看两个表达式的二进制表示法的值,并执行按位“或”操作,只要两个表达式的某位有一个为1,则结果的该位为1;否则,结果的该位为0 |
| ^ | 按位异或运算,异或的运算法则为:0异或0=0,1异或0=1,0异或1=1,1异或1=0 |
| ~ | 按位非运算。0取非运算的结果为1;1取非运算的结果为0 |
| << | 位左移运算,即所有位向左移 |
| >> | 位右移运算,即所有位向右移 |
4、比较运算符
比较运算符是对两个数值进行比较,返回一个布尔值,python的比较运算符如下表所示:
| 比较运算符 | 具体描述 |
| == | 等于运算符(两个=号),例如a==b,如果等于b,则返回True;否则返回False |
| != | 不等运算符,例如a!=b,如果a不等于b,则返回True;否则返回False |
| <> | 不等运算符,与!=相同 |
| < | 小于运算符 |
| > | 大于运算符 |
| <= | 小于等于运算符 |
| >= | 大于等于运算符 |
5、逻辑运算符
python支持的逻辑运算符如下表所示:
| 逻辑运算符 | 具体描述 |
| and | 逻辑与运算符,例如a and b ,当a和b都为True时等于True;否则等于False |
| or | 逻辑或运算符,例如a or b ,当a和b至少有一个为True时等于True;否则等于False |
| not | 逻辑非运算符,例如not a ,当a等于True时,表达式等于False;否则等于True |
逻辑运算符的使用实例:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 x = True 4 y = False 5 print("x and y = ", x and y) 6 print("x or y = ", x or y) 7 print("not x = ", not x) 8 print("not y = ", not y) 9 10 #运行结果如下: 11 x and y = False 12 x or y = True 13 not x = False 14 not y = True
6、字符串运算符
python支持的字符串运算符如下表所示:
| 字符串运算符 | 具体描述 |
| + | 字符串连接 |
| * | 重复输出字符串 |
| [] | 获取字符串中制定索引位置的字符,索引从0开始 |
| [start:end] | 截取字符串中的一部分,从索引位置start开始到end结束 |
| in | 成员运算符,如果字符串中包含给定的字符则返回True |
| not in | 成员运算符,如果字符串中不包含给定的字符返回True |
| r或者R | 指定原始字符串,原始字符串是指所有的字符串都是直接按照字面的意思来使用,没有转义字符、特殊字符或不能打印的字符。原始字符串的第一个引号前加字母"r"或"R" |
字符串运算符举例
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 b = "Hello " 4 a = b + "World!" 5 6 print(a) 7 print(a*2) 8 9 print(b[0 : 3]); 10 11 print("H" in b) 12 13 print("A" not in b) 14 15 print(r"Hello \n World!") 16 17 #输出结果: 18 Hello World! 19 Hello World!Hello World! 20 Hel 21 True 22 True 23 Hello \n World!
7、身份运算符
身份运算符用于比较两个对象的存储单元;
| 身份运算符 | 具体描述 | 实例 |
| is | is 是判断两个标识符是不是引用自一个对象 | x is y ,如果id(x)等于id(y),is 返回结果1 |
| is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y,如果id(x)不等于id(y),is not返回结果1 |
身份运算符使用实例:
#!/usr/bin/env python # -*- coding:utf-8 -*- a = 20 b = 20 if (a is b ): print("1 - a 和 b 有相同的标识") else: print("1 - a 和 b 没有相同的标识") if (id(a) is not id(b)): print("2 - a 和 b 有相同的标识") else: print("2 - a 和 b 没有相同的标识") b = 30 if (a is b): print("3 - a 和 b 有相同的标识") else: print("3 - a 和 b 没有相同的标识") if (a is not b): print("4 - a 和 b 有相同的标识") else: print("4 - a 和 b 没有相同的标识")
#输出结果:
1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 有相同的标识
8、python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
| 运算符 | 具体描述 |
| ** | 指数(最高优先级) |
| ~ + - | 逻辑非运算符和正数/负数运算符;注意,这里的+和-不是加减运算符 |
| * / % // | 乘、除、取模、取整除 |
| + - | 加和减 |
| >> << | 位右移运算符和位左移运算符 |
| & | 按位与运算符 |
| ^ | | 按位异或运算和按为或运算 |
| > < == != <> | 大于、小于、等于、不等于 |
| %= /= //= -= += *= **= | 赋值运算符 |
|
is is not |
身份运算符,用于判断两个标识符是不是引用自一个对象 |
|
in not in |
成员运算符,用于判断序列中是否包含指定成员 |
|
not or and |
逻辑运算符 |
浙公网安备 33010602011771号