Python基础篇【第二篇】:运算符

运算符:

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如1+2,其中数字1和2就是操作数而+号就是运算符。

Python中运算符包括:算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符、运算符优先级。

假设变量a=10,b=20然后用Python中所有的运算符进行操作:

Python算术运算符

运算符 描述 实例
+ 加 - 两个对象相加 a + b 输出结果 30
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 - x除以y b / a 输出结果 2
% 取模 - 返回除法的余数 b % a 输出结果 0
** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
// 取整除 - 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
 1 #!/usr/bin/env python3
 2
 3 a = 10
 4 b = 20
 5
 6 c = a + b   #两数相加
 7 print(c)
 8
 9 c = a - b   #两数相减
10 print(c)
11
12 c = a * b   #两数相乘
13 print(c)
14
15 c = a / b   #两数相除
16 print(c)
17
18 c = a % b   #取模,返回除法的余数
19 print(c)
20
21 c = a ** b  #幂(次方)
22 print(c)
23
24 c = a // b  #取整数,返回商的整数部分
25 print(c)

运行结果如下:

 1 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zk/PycharmProjects/old_boy/day02/Arithmetic_operators.py
 2 30
 3 -10
 4 200
 5 0.5
 6 10
 7 100000000000000000000
 8 0
 9
10 Process finished with exit code 0

Python比较运算符

运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False。 
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 true. 
<> 不等于 - 比较两个对象是否不相等 (a <> b) 返回 true。这个运算符类似 != 。
> 大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 (a < b) 返回 true。 
>= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true。

 1 #!/usr/bin/env python3
 2
 3 a = 10
 4 b = 20
 5 c = 0
 6
 7 if (a == b):        #等于
 8     print(‘a等于b‘)
 9 else:
10     print(‘错误‘)
11
12 if (a != b):        #不等于
13     print(‘a不等于b‘)
14 else:
15     print(‘错误‘)
16
17 # if (a <> b):        #不等于(python2.x)
18 #     print(‘a不等于b‘)
19 # else:
20 #     print(‘错误‘)
21
22 if (a > b):         #大于
23     print(‘a大于b‘)
24 else:
25     print(‘错误‘)
26
27 if (a < b):         #小于
28     print(‘a小于b‘)
29 else:
30     print(‘错误‘)
31
32 if (a >= b):        #大于等于
33     print(‘a大于等于b‘)
34 else:
35     print(‘错误‘)
36
37 if (a <= b):        #小于等于
38     print(‘a小于等于b‘)
39 else:
40     print(‘错误‘)

运行结果:

1 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zk/PycharmProjects/old_boy/day02/bijiaoyunsuanfu.py
2 错误
3 a不等于b
4 错误
5 a小于b
6 错误
7 a小于等于b
8
9 Process finished with exit code 0

*注意"<>"这个运算符(不等于)在Python3.x中已经移除了!比较结果如下:

 1 bogon:~ zk$ python
 2 Python 2.7.10 (default, Oct 23 2015, 19:19:21)
 3 [GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
 4 Type "help", "copyright", "credits" or "license" for more information.
 5 >>> a = 10
 6 >>> b = 20
 7 >>> if (a <> b):
 8 ...     print(‘yes‘)
 9 ... else:
10 ...     print(‘no‘)
11 ...
12 yes
13 >>> exit()
14 bogon:~ zk$ python3
15 Python 3.5.1 (v3.5.1:37a07cee5969, Dec  5 2015, 21:12:44)
16 [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
17 Type "help", "copyright", "credits" or "license" for more information.
18 >>> a = 10
19 >>> b = 20
20 >>> if (a <> b):
21   File "<stdin>", line 1
22     if (a <> b):
23            ^
24 SyntaxError: invalid syntax    #语法错误在Python3.x中没有这个运算符!

Python赋值运算符

运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
 1 #!/usr/bin/env python3
 2
 3 a = 10
 4 b = 20
 5 c = 0
 6
 7 c = a + b       #把a+b的变量和赋值给c变量
 8 print(c)
 9
10 c += a          #意思是c = c + a
11 print(c)
12
13 c -= a          #意思是c = c - a
14 print(c)
15
16 c *= a          #意思是c = c * a
17 print(c)
18
19 c /= a          #意思是c = c / a
20 print(c)
21
22 c %= a          #意思是c = c % a
23 print(c)
24
25 c **= a         #意思是c = c ** a
26 print(c)
27
28 c //= a         #意思是c = c // a
29 print(c)

运算结果:

 1 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zk/PycharmProjects/old_boy/day02/运算符/赋值运算符.py
 2 30
 3 40
 4 30
 5 300
 6 30.0
 7 0.0
 8 0.0
 9 0.0
10
11 Process finished with exit code 0

Python位运算符

按位运算符是把数字看成二进制来计算的。

运算符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 (a | b) 输出结果 61 ,二进制解释: 0011 1101
^ 按位异或运算符:当两对应的二进位相异时,结果为1  (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1  (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数  a >> 2 输出结果 15 ,二进制解释: 0000 1111
 1 #!/usr/bin/env python3
 2
 3 a = 10
 4 b = 60
 5 c = 0
 6
 7 #一下是数字转成二进制的方法
 8 #例如取10,60数字的二进制
 9 #128    64    32    16    8    4    2    1
10 #0      0     0     0     1    0    1    0      =   10
11 #0      0     1     1     1    1    0    0      =   60
12 #0      0     0     0     1    0    0    0      =   8
13 #
14 # 所以数字10,60,的二进制分别为
15 #     10 = 1010
16 #     60 = 111100
17
18 c = a & b   #按位与运算符:二进制位置中相对应的为1的则为1,否则为0
19 print(c)
20 #128    64    32    16    8    4    2    1
21 #0      0     0     0     1    0    1    0      =   a = 10
22 #0      0     1     1     1    1    0    0      =   b = 60
23 #0      0     0     0     1    0    0    0      =   c = a & b = 8
24
25 c = a | b   #按位或运算符:只要对应的位置是1的时候就是1
26 print(c)
27 #128    64    32    16    8    4    2    1
28 #0      0     0     0     1    0    1    0      =   a = 10
29 #0      0     1     1     1    1    0    0      =   b = 60
30 #0      0     1     1     1    1    1    0      =   c = a | b = 62
31
32 c = a ^ b   #按位异或运算符:就是相对应的位置不一样的时候等于1
33 print(c)
34 #128    64    32    16    8    4    2    1
35 #0      0     0     0     1    0    1    0      =   a = 10
36 #0      0     1     1     1    1    0    0      =   b = 60
37 #0      0     1     1     0    1    1    0      =   c = a ^ b = 54
38
39 c = ~ a   #按位取反运算符:就是把相对应的位置反过来(太极图黑白!)
40 print(c)
41 #原理
42 #+128    +64    +32    +16    +8    +4    +2    +1
43 #0       0      0      0      1     0     1     0       =   10(相加)
44 #
45 #~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~  ~ (阴阳界)
46 #1       1      1      1      0     1     0     1       =
47 #-128    -64    -32    -16    -8    -4    -2    -1      =   c = ~ a = -11(相减)
48
49 c = a << 2  #做移动运算符:往左边移动两位
50 print(c)
51 #128    64    32    16    8    4    2    1
52 #0      0     0     0     1    0    1    0      =   a = 10
53 #0      0     1     0     1    0    0    0      =   c = a << 2 = 40
54
55 c = a >> 2  #右移动运算符:往右边移动两位
56 print(c)
57 #128    64    32    16    8    4    2    1
58 #0      0     0     0     1    0    1    0      =   a = 10
59 #0      0     0     0     0    0    1    0      =   c = a >>2 = 2

运算结果:

1 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zk/PycharmProjects/old_boy/day02/运算符/位运算符.py
2 8
3 62
4 54
5 -11
6 40
7 2
8
9 Process finished with exit code 0

Python逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False
 1 #!/usr/bin/env python3
 2
 3 a = 20
 4 b = 20
 5
 6 print(a and b)      #如果a是false返回值就是false,如果a是true返回值就是b变量的值
 7
 8 print(a or b)       #如果a是false返回值就是b变量的值,如果a是true返回值就是a的值
 9
10 print(not a)        #如果a是true返回值就是false,如果a是false返回值就是true

运算结果:

/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zk/PycharmProjects/old_boy/day02/运算符/逻辑运算符.py
20
20
False

Process finished with exit code 0

Python成员运算符

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
 1 #!/usr/bin/env python3
 2
 3 a = 10
 4 b = 3
 5 li = [1,2,3,4,5,6,7,8,9,0]
 6
 7 print(a in li)      #如果a在li列表中返回true,否则返回false
 8 print(b in li)
 9
10 print(a not in li)  #如果ab不在li列表中返回tru,否则返回fals
11 print(b not in li)

运算结果:

1 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zk/PycharmProjects/old_boy/day02/运算符/成员运算符.py
2 False
3 True
4 True
5 False
6
7 Process finished with exit code 0

Python身份运算符

运算符 描述 实例
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
 1 #!/usr/bin/env python3
 2
 3 a = 10
 4 b = 20
 5 c = 20
 6
 7 print(a is b)               #a,b有相同的标示返回true否则返回false
 8
 9 print(b is c)               #b,c有相同的标示返回true否则返回false
10
11 print(id(a) == id(b))       #a,b有相同的标示返回true否则返回false
12
13 print(id(b) == id(c))       #b,c有相同的标示返回true否则返回false
14
15 print(a is not b)           #a,b有相同的标示返回false否则返回true
16
17 print(b is not c)           #b,c有相同的标示返回false否则返回true
18
19 print(id(a) != id(b))       #a,b有相同的标示返回false否则返回true
20
21 print(id(b) != id(c))       #b,c有相同的标示返回false否则返回true

运算结果:

 1 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zk/PycharmProjects/old_boy/day02/运算符/身份运算符.py
 2 False
 3 True
 4 False
 5 True
 6 True
 7 False
 8 True
 9 False
10
11 Process finished with exit code 0
时间: 2024-10-14 08:50:43

Python基础篇【第二篇】:运算符的相关文章

Python 基础【第二篇】python操作模式

一.交互模式 1 #python 2 3 Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) 4 5 [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 6 7 Type "help", "copyright", "credits" or "license" for more information. 8 9 >>>

python基础知识第二篇

基本数据类型 数字                  整形 int                             ---int                            将字符串转换为数字 num="123" n1=int(num) print(n1) print(type(a)) 查看是什么类型的 num=10 print(type(num)) .               ----bit_length 当前数字的二进制,表示至少用几位来二进制 num=10

EnjoyingSoft之Mule ESB基础系列第二篇:Mule ESB基本概念

目录 1. 使用Anypoint Studio开发 2. Mule ESB Application Structure - Mule ESB应用程序结构 3. Mule ESB Application整体构造 4. Mule ESB构造元素 - Flow 5. Mule ESB构造元素 - Connector 6. Mule ESB构造元素 - Processor Mule ESB在众多开源的ESB中处于领先者的地位,MuleSoft公司也作为独角兽,2017年在纽交所上市.我们作为MuleSo

使用docker部署tomcat|tomcat基础使用第二篇

使用docker部署tomcat|tomcat基础使用第二篇 1. review tomcat服务器学习:https://www.cnblogs.com/jiading/p/11974935.html docker学习:https://www.cnblogs.com/jiading/p/12131441.html 2. tomcat使用补充 tomcat服务器的文件位置在哪里 今天猛然间发现之前配置的tomcat居然是随机启动的,也就是说它一直在默默运行着2333,幸好内存占用不大.不过这也从侧

Python开发【第二篇】:运算符、比较、关系运算符

运算符 python支持以下几种运算符 算术运算符 运算符 描述 实例 + 加 两个对象相加 a + b 输出结果 30 - 减 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 / 除 x除以y b / a 输出结果 2 // 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 % 取余 返回除法的余数 b % a 输出结果 0 ** 幂 返回x的y次幂 a**b

python基础1--小结篇

如果有别的编程语言基础,python属于极好上手的一门语言.应用上,用“自取所需”来描述,最为贴切. 首先,放上一些推荐. 安装上: 1.python3.5.1(推荐官网直接下载,自带IDLE),安装不麻烦,记得增加环境变量即可 2.编辑器:sublime 其实,并没有使用很多,但是推荐的人超多 ,破解版网上很多,按资源下载即可 3.IDE: 强推 pycharm 对JetBrains软件执着的热爱  方便又美观 网上能找到找到注册码,学生用edu邮箱可以免费使用,当然,支持正版! 熟悉上: 语

由浅入深,走进Python装饰器-----第二篇:进阶--函数装饰函数

上一篇:由浅入深,走进Python装饰器-----第一篇:基础 装饰器的使用种类: # 第一种 @函数 被装饰函数 # 第二种 @函数 被装饰类 # 第三种 @类 被装饰类 # 第四种 @函数 被装饰函数 本篇介绍第一种 @函数 被装饰函数 1.1 对带参数的原函数进行修饰 # 默认将old函数的参数传给outer里面的第一层函数 def outer(f): def inner(var): print("1 我是outer函数,接收外部传进来的old :",f) print("

python基础-第六篇-6.2模块

python之强大,就是因为它其提供的模块全面,模块的知识点不仅多,而且零散---一个字!错综复杂 没办法,二八原则抓重点咯!只要抓住那些以后常用开发的方法就可以了,哪些是常用的?往下看--找答案~ 模块定义 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成 (函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块.

Python 语言学习 第二篇:数据类型(字符串)

字符串是一个有序的字符的不可变序列,用于存储基于文本的信息.字符串所包含的字符存在从左至右的位置顺序,不可以在原处(in-place)修改.Python没有C语言的字符和字符串之分,只有字符串.从严格意义上说,字符串是单个字符的序列,支持元素基于位置的操作,能够通过位置索引字符:由于字符串具有不可变性,不能对原始的字符串进行修改,也就是说,不能通过对其某一位置进行赋值而修改字符串. 一,字符串常量 字符串常量使用成对的单引号或双引号来表示,两者表示的效果是一样的. 1,在字符串常量中表示引号 如

Python基础学习 总结篇

Python基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结构(概要) Python学习(四)数据结构 —— int float Python学习(四)数据结构 —— str Python学习(四)数据结构 —— bool Python学习(四)数据结构 —— list tuple range Python学习(四)数据结构 —— set frozenset