Python 入门到精通(5):Python运算符
admin
2023-07-31 00:26:46
0

博客前言

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。在计算器语言中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符。运算符也是计算机里比较好理解的人类语言之一,只要稍微懂点数学的,都能看懂算数运算符。在Python中常见的运算符有:
+*/**/<>!=//%&|^~>><<<=>===notandor 。在接下来的博文中再一一介绍这些运算符的具体事例。

 

写在前面

python你不去认识它,可能没什么,一旦你认识了它,你就会爱上它

 

python运算符基础实例

代码正文&讲解:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 # coding=utf-8#两个数字相加sumNumber=1+2print(sumNumber)      #输出结果:3 #两个字符串相加sumString=\”Nice work\”print(sumString)      #输出结果:Nice work #两个数字相减subNumber=21print(subNumber)      #输出结果:1 #两个数字相乘或者字符串重复multiplicationNumber=2*3print(multiplicationNumber)      #输出结果:6multiplicationString=\”hello\”*2print(multiplicationString)      #输出结果:hellohello#/—关于*号重复字符串之前的博客已经介绍过了—/ #两个数相除divisionNumber=9/2print(divisionNumber)      #输出结果:4divisionNumber=9.0/2print(divisionNumber)      #输出结果:4.5divisionNumber=9/2.0print(divisionNumber)      #输出结果:4.5#/—除数或被除数中有任意一个是小数的话,商也会保留小数,反之取整—/ #求幂运算powerNumber=2**3 #相当于2的3次幂,就是2*2*2 关于幂运算大家应该在数学里都很熟悉了print powerNumber       #输出结果:8 #小于符号,返回值是bool值lessThan=1<2print(lessThan)        #输出结果:TruelessThan=1<1print(lessThan)        #输出结果:False #大于符号,返回值是bool值moreThan=2>1print(moreThan)        #输出结果:TruemoreThan=2>2print(moreThan)        #输出结果:False #不等于符号 返回值是Bool值notEqual=1!=2print(notEqual)        #输出结果:TruenotEqual=1!=1print(notEqual)        #输出结果:False #除法运算// 返回商的整数部分,抛弃余数divisorNumber=10//3print(divisorNumber)        #输出结果:3 #除法运算% 返回商的余数部分,抛弃商divisorNumber=10%3print(divisorNumber)        #输出结果:1divisorNumber=10%1print(divisorNumber)        #输出结果:0 /–没有余数则返回0–/divisorNumberx=10//3         #divisorNumberx是商的整数部分divisorNumbery=10%3         #divisorNumbery是余数divisorNumberz=3*divisorNumberx+divisorNumbery    #divisorNumberz是除数乘以商的整数部分加上余数,得到的divisorNumberz的值就是被除数print(divisorNumberz)        #输出结果:10 #按位与运算&, 按位与是指一个数字转化为二进制,然后这些二进制的数按位来进行与运算operationNumber=7&18print 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|18print operationNumber        #输出结果:23   #结题思路和按位与运算的一样,可以参考按位与运算 #按位异或operationNumber=7^18print operationNumber        #输出结果:21   #结题思路和按位与运算的一样,可以参考按位与运算 #按位翻转 ~   按位翻转公式: ~x= – (x+1)operationNumber=~12  #~12=- (12+1) = -13print operationNumber        #输出结果:-13   #结题思路和按位与运算的一样,可以参考按位与运算 #左移<<\’\’\’比如18左移就是将他的二进制形式00100100左移,得到00100100(36)。左移规律:左移一个单位相当于乘2,左移两个单位相当于乘以4,左移三个单位相当于乘以8,即:      左移n个单位相当于乘以2的n次幂\’\’\’operationNumber=12<<1print operationNumber        #输出结果:24operationNumber=3<<3print operationNumber        #输出结果:24 #右移>>\’\’\’理解左移以后,右移就很好理解了。右移是左移的逆运算,将对应的二进制数向右移动。右移规律:右移一个单位相当于除以2,右移两个单位相当于除以4,右移三个单位相当于除以8,即:      右移n个单位相当于除以2的n次幂\’\’\’operationNumber=12>>1print operationNumber        #输出结果:6operationNumber=12>>2print operationNumber        #输出结果:3 #小于等于<= 比较运算,小于或等于返回一个bool值operationNumber=3<=3print operationNumber        #输出结果:TrueoperationNumber=3<=2print operationNumber        #输出结果:False #大于等于>= 比较运算,大于或等于返回一个bool值operationNumber=2>=3print operationNumber        #输出结果:FalseoperationNumber=3>=2print operationNumber        #输出结果:True #比较两个对象是否相等==operationNumber=3==2print operationNumber        #输出结果:FalseoperationString=\”hi\”==\”hi\”print operationString        #输出结果:True #逻辑非 notoperationx=Trueoperationy=not operationxprint operationy        #输出结果:Falseoperationz=Falseprint not operationz        #输出结果:True #逻辑与 and\’\’\’True and True = TrueTrue and False = FalseFalse and True = FalseFalse and False = False\’\’\’print True and True        #输出结果:True #逻辑或 or\’\’\’True or True = TrueTrue or False = TrueFalse or True = TrueFalse or False = False\’\’\’print False or False        #输出结果:False

这里的这些运算可能按位运算会感觉比较麻烦,不过没有关系,大家用多了就熟练了。

 

python运算符优先级

1.python运算符优先级排行榜: 

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

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

代码正文&讲解:

123456789101112131415161718192021222324252627282930313233343536 # coding=utf-8#优先级的简单实例priorityNumber=2+1*4print priorityNumber      #输出结果:6 #优先级使用实例#以下优先级排名从高到低,在同一运算中,先执行优先级高的再执行低的,以此类推。 #Top 1:函数调用、寻址、下标 #Top 2:幂运算**priorityNumber=2*2**3print 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=2*3+2<=2+1*7print priority      #输出结果:True #Top 10:逻辑的not and or #Top 11:lambda表达式

 

2.python运算符优先级使用规律: 

代码正文&讲解:

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...