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

v写在前面

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=2*3
print(multiplicationNumber) #输出结果:6
multiplicationString="hello"*2
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次幂,就是2*2*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是余数
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=2*2**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=2*3+2<=2+1*7
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运算符优先级大招: 

大家可能会觉得Python运算符的优先级不容易记忆,而且有时候还容易混淆。在实际运用中根据业务逻辑可能我们知道要先做什么再做什么,但是却忘记Python运算符的优先级了,该怎么办?这里教大家一个杀手锏,绝对百试不爽。

代码正文&讲解:

#python运算符优先级大招
'''比如说有这个需求:
去商店买水,买3瓶水,每瓶5块,再买一个绿箭(假设绿箭3块),总共多少钱?
这个简单的应用非常明显,需要先用乘法再用加法,如果这里你忘记了乘法和加法的优先级,可以这样:
'''
print (3*5)+3 #输出结果:18 #ps: 这只是一个简单的例子,只是为了告诉大家实际应用中实在不行咱就放大招。有备无患。
vPython表达式

Python表达式基本概念: 

python中,值、变量和运算符共同组成的整体称为表达式

代码正文&讲解:

#python表达式
#1 字符串表达式
"Hello" #2 计算表达式
2+3 #3 赋值表达式
first=0 #4 变量表达式
first #5 值表达式
3 #等等
v博后练习

应上一篇博客Python基本语法[二],python入门到精通[四]园友的意见,给出浏览博客后的练习。如果大家有什么有意思的题目也可以拿出来一起捣鼓,或者留作下一篇博客的"博后练习"。

练习:

  • 弄清楚与或非二进制运算
  • 熟记python运算符优先级关系
  • 去商店买水,买3瓶水,每瓶5块,赶上双11,商店促销,现在每瓶降价1.5块,总共多少钱。(需要用放大招和不放大招两种方式)
v博客总结

关于python的运算符大家如果有什么疑问或者补充的可以踊跃发言,我们一起探讨。

作  者:请叫我头头哥

出  处:http://www.cnblogs.com/toutou/

关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!

版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信

声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!

Python运算符,python入门到精通[五]的更多相关文章

  1. Python运算符 - Python零基础入门教程

    目录 一.算术运算符 二.赋值运算符 三.比较运算符 四.运算符的优先等级 五.重点总结 六.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python ...

  2. python运算符 - python基础入门(7)

    什么是运算符?听着高大上,实际小学生都能把它玩的贼溜.比如:3 + 2 – 5 * 0 = 0 一.算术运算符 简称加减乘除,直接上代码:   a = 10 b = 20 c = 30 # 其实上面三 ...

  3. MyBatis从入门到精通(五):MyBatis 注解方式的基本用法

    最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 1. @Select 注解 1.1 使 ...

  4. Python 3从入门到精通01-环境搭建

    本系列开始介绍Python3的基础教程,为什么要选中Python 3呢?因为最近看到一些资料和课程,都是Python 3授课的,例如,大数据,机器学习,数据挖掘等等:还有一个目的,我想彻底地,系统地学 ...

  5. Python 3从入门到精通02-python的简单使用

    Python 3中的打印语句和字符串使用: Python中的常见数学运算: 这样的简单基础知识,你需要花5分钟就可以了,很基础的东西.

  6. Python爬虫从入门到精通——基本库re的使用:正则表达式【华为云技术分享】

    置顶:华为云618大促火热进行中,全场1折起,免费抽主机,消费满额送P30 Pro,点此抢购. 正则表达式是处理字符串的强大工具,它有自己特定的语法结构,有了它,实现字符串的检索.替换.匹配验证都不在 ...

  7. Numpy 基础函数 --《Python 数据分析从入门到精通》

    在Numpy中,方向称作轴,轴的数目称作维.(array(z,y,x)) np.empty() 函数的使用待完全确定.(eg: np.empty([2,3])  -> ([[0,0,0] [0, ...

  8. python基础[1]——python运算符&python数据类型之数值型

    python常用运算符&数字&布尔值 上节回顾 一.变量名和标识符 变量名的命名规范 (1)只能包含数字,字母和下划线 (2)只能以字母和下划线开头(不能以数字开头) (3)标识符是区 ...

  9. PHP从入门到精通(五)

    字符串三种声明方式 1."":双引号中可以解析变量"{$a}",双引号中可以使用任何转义字符:2.'':单引号中不可以解析变量,单引号中不可以使用转义字符(但是 ...

随机推荐

  1. 图说hibernate注释--java里配置参数(一.1)

    **************************************************************[来自我另一博文]

  2. 设置Xshell中支持中文

    执行echo $LANG命令输出的是当前的编码方式,执行locale命令得到系统中所有可用的编码方式.要让Xshell不显示乱码,则要将编码方式改为UTF-8. 在Xshell中[file]-> ...

  3. SOA (面向服务的体系结构)

    面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台.操作系统和编程语言 ...

  4. Python语言and-or的用法

    [原]python语言的 and-or 常常被用来实现类C语言中的三元运算符 : ?   , 更为骚气的写法是  xxx and xxx or xxx and xxx or xxx,这样就可以可以做到 ...

  5. Python遍历文件夹

    许多次需要用python来遍历目录下文件, 这一次就整理了记录在这里. 随实际工作,不定期更新. import os class FileTraversal: def __init__(self, r ...

  6. Insight API开源项目介绍

           首先,在阅读本文以前假设您已经了解比特币Bitcoin基本原理. Insight API是一个开源基于比特币Bitcoin  blockchain的REST风格的API框架.Insigh ...

  7. 通过Google身份验证器加强Linux帐户安全

    下载Google的身份验证模块: # wget https://google-authenticator.googlecode.com/files/libpam-google-authenticato ...

  8. SQL语句操作数据-------开启旅程路线喽!

    岁月,是一首诗,一首蕴含丰富哲理的诗,岁月是一峰骆驼,驮着无数人的梦想. 一.SQL的简介 SQL的全称是“结构化查询语言”(Structure Query Language),SQL语言是针对数据库 ...

  9. iCheck.js

    一.iCheck:http://www.bootcss.com/p/icheck/ 1.选择一个颜色主题,网上有,有了一个肤色主题,然后就是把这个肤色主题的css文件复制到iCheck文件夹里面 2. ...

  10. Web 开发人员不能错过的 jQuery 教程和案例

    jQuery 把惊喜延续到设计领域,处处带来极大的灵活性,创造了许多体验良好的设计,而且拥有不错的性能.这里分享一组 Web 开发人员不能错过的 jQuery 教程和案例,帮助你更好的掌握 jQuer ...