Python运算符全面讲解

简介: Python运算符全面讲解

vpython运算符基础实例
代码正文&讲解:

复制代码

coding=utf-8

两个数字相加

sumNumber=1+2
print(sumNumber) #输出结果:3

两个字符串相加

sumString="Nice work"
print(sumString) #输出结果:Nice work

两个数字相减

subNumber=2-1
print(subNumber) #输出结果:1

两个数字相乘或者字符串重复

multiplicationNumber=23
print(multiplicationNumber) #输出结果:6
multiplicationString="hello"
2

//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjgzNDg5Ng==.html
print(multiplicationString) #输出结果:hellohello

/---关于*号重复字符串之前的博客已经介绍过了---/

两个数相除

divisionNumber=9/2
print(divisionNumber) #输出结果:4
divisionNumber=9.0/2
print(divisionNumber) #输出结果:4.5
divisionNumber=9/2.0
print(divisionNumber) #输出结果:4.5

/---除数或被除数中有任意一个是小数的话,商也会保留小数,反之取整---/

求幂运算

powerNumber=2*3 #相当于2的3次幂,就是22*2 关于幂运算大家应该在数学里都很熟悉了
print powerNumber #输出结果:8

小于符号,返回值是bool值

lessThan=1<2
print(lessThan) #输出结果:True
lessThan=1<1
print(lessThan) #输出结果:False

大于符号,返回值是bool值

moreThan=2>1
print(moreThan) #输出结果:True
moreThan=2>2
print(moreThan) #输出结果:False

不等于符号 返回值是Bool值

notEqual=1!=2
print(notEqual) #输出结果:True
notEqual=1!=1
print(notEqual) #输出结果:False

除法运算// 返回商的整数部分,抛弃余数

divisorNumber=10//3
print(divisorNumber) #输出结果:3

除法运算% 返回商的余数部分,抛弃商

divisorNumber=10%3
print(divisorNumber) #输出结果:1
divisorNumber=10%1
print(divisorNumber) #输出结果:0 /--没有余数则返回0--/
divisorNumberx=10//3 #divisorNumberx是商的整数部分
divisorNumbery=10%3 #divisorNumbery是余数

//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjg0MjYyOA==.html
divisorNumberz=3*divisorNumberx+divisorNumbery #divisorNumberz是除数乘以商的整数部分加上余数,得到的divisorNumberz的值就是被除数
print(divisorNumberz) #输出结果:10

按位与运算&, 按位与是指一个数字转化为二进制,然后这些二进制的数按位来进行与运算

operationNumber=7&18
print operationNumber #输出结果:2
'''
这个有点绕,稍微多说下,如果对二进制不是太熟的朋友,可以打开电脑自带的计算器,按住win+q,输入"calculator"。
然后在打开的计算器设置成程序员模式, 就是View(查看)->>programmer(程序员).
然后我们将7转为二进制:111,自动补全8位:00000111,然后将18转为二进制补全8位后得到:00010010
最后将 00000111
跟 00010010 按位进行与运算,
/-
对与运算不熟的朋友可以看看百度百科的介绍,还是很详细的。
http://baike.baidu.com/link?url=lfGJREBvGCY5j7VdF2OO9n2mtIbSyNUD7lZyyY74QIetguL5lXIQUxY38Yr-p4z4WdUvHUKGjw9CDfagiun2Ea
-/
得到结果:00000010
我们都知道10二进制→十进制=2,所以7跟18的按位与的结果是二进制10(十进制2)
'''

按位或运算|, 按位或是指一个数字转化为二进制,然后这些二进制的数按位来进行或运算

operationNumber=7|18
print operationNumber #输出结果:23 #结题思路和按位与运算的一样,可以参考按位与运算

按位异或

operationNumber=7^18
print operationNumber #输出结果:21 #结题思路和按位与运算的一样,可以参考按位与运算

按位翻转 ~ 按位翻转公式: ~x= - (x+1)

operationNumber=~12 #~12=- (12+1) = -13
print operationNumber #输出结果:-13 #结题思路和按位与运算的一样,可以参考按位与运算

左移<<

'''
比如18左移就是将他的二进制形式00100100左移,得到00100100(36)。
左移规律:左移一个单位相当于乘2,左移两个单位相当于乘以4,左移三个单位相当于乘以8,
即: 左移n个单位相当于乘以2的n次幂
'''
operationNumber=12<<1
print operationNumber #输出结果:24
operationNumber=3<<3
print operationNumber #输出结果:24

右移>>

'''
理解左移以后,右移就很好理解了。
右移是左移的逆运算,将对应的二进制数向右移动。
右移规律:右移一个单位相当于除以2,右移两个单位相当于除以4,右移三个单位相当于除以8,
即: 右移n个单位相当于除以2的n次幂
'''
operationNumber=12>>1
print operationNumber #输出结果:6
operationNumber=12>>2
print operationNumber #输出结果:3

小于等于<= 比较运算,小于或等于返回一个bool值

operationNumber=3<=3
print operationNumber #输出结果:True
operationNumber=3<=2
print operationNumber #输出结果:False

大于等于>= 比较运算,大于或等于返回一个bool值

operationNumber=2>=3
print operationNumber #输出结果:False
operationNumber=3>=2
print operationNumber #输出结果:True

比较两个对象是否相等==

operationNumber=3==2
print operationNumber #输出结果:False
operationString="hi"=="hi"
print operationString #输出结果:True

逻辑非 not

operationx=True
operationy=not operationx
print operationy #输出结果:False
operationz=False
print not operationz #输出结果:True

逻辑与 and

'''
True and True = True
True and False = False
False and True = False
False and False = False
'''
print True and True #输出结果:True

逻辑或 or

'''
True or True = True
True or False = True
False or True = True
False or False = False
'''
print False or False #输出结果:False
复制代码
这里的这些运算可能按位运算会感觉比较麻烦,不过没有关系,大家用多了就熟练了。

回到顶部
vpython运算符优先级
1.python运算符优先级排行榜:

在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的运算顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。

代码正文&讲解:

复制代码

coding=utf-8

优先级的简单实例

priorityNumber=2+1*4
print priorityNumber #输出结果:6

优先级使用实例

以下优先级排名从高到低,在同一运算中,先执行优先级高的再执行低的,以此类推。

Top 1:函数调用、寻址、下标

Top 2:幂运算**

priorityNumber=22*3
print priorityNumber #输出结果:16

Top 3:翻转运算~

Top 4:正负号

print 1+2*-3 #输出结果:-5

Top 5:*、/、%

print 2+1*2/5 #输出结果:2

Top 6:+、-

print 3<<2+1 #输出结果:24

Top 7:<<、>>

Top 8:按位&、^、|

Top 9:比较运算符

priority=23+2<=2+17
print priority #输出结果:True

Top 10:逻辑的not and or

Top 11:lambda表达式

复制代码
2.python运算符优先级使用规律:

代码正文&讲解:

复制代码

python优先级使用规律

1、一般情况下是左结合的

ps:在没有更高优先级运算符,即只有同级运算符时时从左到右结合

print 1+2+3*5+5 #输出结果:23

2、出现赋值的时候一般是右结合

ps:在有赋值运算符时,是右结合,即先算出1+2的值以后再赋值给priority

priority=1+2
print priority #输出结果:23
复制代码

相关文章
|
2月前
|
Python
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
本篇将详细介绍Python中的运算符,包括数学运算、关系运算、逻辑运算、赋值运算和成员运算等内容。同时会说明运算符的优先级和运算顺序,帮助用户理解和掌握Python中的运算符使用规则。
39 3
【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
|
2月前
|
自然语言处理 Python
【python从入门到精通】-- 第三战:输入输出 运算符
【python从入门到精通】-- 第三战:输入输出 运算符
67 0
【python从入门到精通】-- 第三战:输入输出 运算符
|
2月前
|
存储 Java 编译器
Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
这篇文章是关于Python编程语言中变量命名规则、基本数据类型、算数运算符、比较运算符、逻辑运算符、赋值运算符以及格式化输出与输入的详细教程。
20 0
Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
|
2月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
|
2月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (二)
Python操作:字符串--列表--元组--字典--运算符 (二)
|
4月前
|
JavaScript 前端开发 开发者
如何在 Python 中使用三元运算符?
【8月更文挑战第29天】
38 3
|
4月前
|
算法 测试技术 Python
Python接口自动化测试框架(基础篇)-- 有点意思的运算符
这篇文章介绍了Python中的各种运算符,包括算术运算符、比较运算符、赋值运算符、逻辑运算符、成员运算符、位运算符和身份运算符,并讨论了运算符的优先级,以及序列类型的相关知识。
21 0
Python接口自动化测试框架(基础篇)-- 有点意思的运算符
|
4月前
|
Python
二:《Python基础语法汇总》— 输入与输出&运算符
【8月更文挑战第16天】本篇文章详细讲述了关于输入输出函数的语法及占位符;转义字符和运算符的使用,并附上详细的代码示例
36 2
|
5月前
|
Python
Python基础语法:运算符详解(算术运算符、比较运算符、逻辑运算符、赋值运算符)
运算符是Python编程中的重要组成部分,理解并熟练使用这些运算符有助于编写高效、简洁的代码。本文详细介绍了算术运算符、比较运算符、逻辑运算符和赋值运算符的使用方法,并通过综合示例展示了它们在实际编程中的应用。希望通过本文的介绍,您能更好地掌握Python中的运算符。
190 13
|
4月前
|
Python
Day 6/100:Python运算符
Day 6/100:Python运算符
32 0
下一篇
无影云桌面