基本运算符

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。在计算器语言中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符。运算符也是计算机里比较好理解的人类语言之一,只要稍微懂点数学的,都能看懂算数运算符。

在Python中常见的运算符有: +、-、、/、*/<、>、!=、//、%、&、|、^、~、>>、<<、<=、>=、==、not、and、or 。接下来一一介绍这些运算符的具体事例。

算数运算

以下假设变量:a=10,b=20

比较运算

以下假设变量:a=10,b=20

赋值运算

以下假设变量:a=10,b=20

http://kuanghy.github.io/2016/05/26/python-connect(Python连接符+=、+、-=)

逻辑运算

针对逻辑运算的进一步研究:

1、在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

print(3>4 or 4<3 and 1==1)
print(1 < 2 and 3 < 4 or 1>2 )
print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) #输出
False
True
True
False
False
False

2 、 x or y , x为真,值就是x,x为假,值是y;x and y, x为真,值是y,x为假,值是x。

非0转换为布尔值是True,0转换为布尔值是False

print(8 or 4)
print(0 and 3)
print(0 or 4 and 3 or 7 or 9 and 6) #输出
8
0
3

成员运算

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

判断子元素是否在原字符串(字典,列表,集合)中:

print('喜欢' in 'dkfljadklf喜欢hfjdkas')
print('a' in 'bcvd')
print('y' not in 'ofkjdslaf') #输出
True
False
True 

位运算

按位取反运算规则(按位取反再加1) 详解http://blog.csdn.net/wenxinwukui234/article/details/42119265

运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

---------------------以下是些具体运算---------------------

python运算符基础实例

# 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

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

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

# 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表达式
#python优先级使用规律
#1、一般情况下是左结合的
#ps:在没有更高优先级运算符,即只有同级运算符时时从左到右结合
print 1+2+3*5+5 #输出结果:23 #2、出现赋值的时候一般是右结合
#ps:在有赋值运算符时,是右结合,即先算出1+2的值以后再赋值给priority
priority=1+2
print priority #输出结果:23 #python运算符优先级大招
'''比如说有这个需求:
去商店买水,买3瓶水,每瓶5块,再买一个绿箭(假设绿箭3块),总共多少钱?
这个简单的应用非常明显,需要先用乘法再用加法,如果这里你忘记了乘法和加法的优先级,可以这样:
'''
print (3*5)+3 #输出结果:18 #ps: 这只是一个简单的例子,只是为了告诉大家实际应用中实在不行咱就放大招。有备无患。

Python运算符及逻辑运算的更多相关文章

  1. Python运算符,逻辑运算

    运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算,今天我们暂只学习算数运算.比较运算.逻辑运算.赋值运算 ...

  2. Python运算符与表达式

    Python运算符包括赋值运算符.算术运算符.关系运算符.逻辑运算符.位运算符.成员运算符和身份运算符. 表达式是将不同类型的数据(常亮.变量.函数)用运算符按照一定得规则连接起来的式子. 算术运算符 ...

  3. python运算符与数据类型

    python运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 以下假设变量: a=10,b=20: ...

  4. python运算符及优先级

    计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 一.算数运算 以下假设变量:a=10,b=20 二.比较运算 ...

  5. Python 运算符 各类运算符总结

    运算符详解2.1.算术运算符2.2.比较(关系)运算符2.3.赋值运算符2.4.逻辑运算符2.5.位运算符2.6.成员运算符2.7.身份运算符三.重要运算符说明3.1.join和符号”+“区别3.2. ...

  6. Python运算符和编码

    Python运算符和编码 一.格式化输出 现在有以下需求,让⽤户输入name, age, job,hobby 然后输出如下所⽰: ----------info of dogfa---------- n ...

  7. 『无为则无心』Python基础 — 12、Python运算符详细介绍

    目录 1.表达式介绍 2.运算符 (1)运算符的分类 (2)算数运算符 (3)赋值运算符 (4)复合赋值运算符 (5)比较运算符 3.逻辑运算符 拓展1:数字之间的逻辑运算 拓展2:Python中逻辑 ...

  8. python运算符重载

    python运算符重载就是在解释器使用对象内置操作前,拦截该操作,使用自己写的重载方法. 重载方法:__init__为构造函数,__sub__为减法表达式 class Number: def __in ...

  9. Python运算符,python入门到精通[五]

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...

随机推荐

  1. UESTC 1246 拆x3

    用归纳法分析可以知道死循环只有4. 分析一下复杂度,如果n很大并且不是素数,根据基本不等式可以知道 sum factor(n) ≥ 2+n/2 ≍ n/2. 复杂度是O(T*logN*sqrt(N)) ...

  2. POJ-1509 Glass Beads---最小表示法模板

    题目链接: https://vjudge.net/problem/POJ-1509 题目大意: 给你一个循环串,然后找到一个位置,使得从这个位置开始的整个串字典序最小. 解题思路: 最小表示法模板 注 ...

  3. 去重算法-hash-set

    Well, as Bavarious pointed out in a comment, Apple's actual CoreFoundation source is open and availa ...

  4. Uva 11401 数三角形

    题目链接:https://uva.onlinejudge.org/external/114/11401.pdf 题意:1~n个数里面挑3个不同的数,组成一个三角形.求方案数. 分析: 令最长的边为X, ...

  5. python spark wingide

  6. VC-基础:VS2010/MFC-1MFC消息映射

    Windows消息分类 Windows消息分为系统消息和用户自定义消息.Windows系统消息有三种: 1.标准Windows消息.除WM_COMMAND外以WM_开头的消息是标准消息.例如,WM_C ...

  7. 注解@Component,@Controller,@Service,@Repository简单了解

    Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发.@Repository注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring B ...

  8. CUDA 纹理内存

    原文链接 1.概述 纹理存储器中的数据以一维.二维或者三维数组的形式存储在显存中,可以通过缓存加速访问,并且可以声明大小比常数存储器要大的多. 在kernel中访问纹理存储器的操作称为纹理拾取(tex ...

  9. ckplayer插件播放视频

    官网:超酷网页视频 本篇介绍:插件播放视频,  添加插件(额外的功能),  视频格式之间的转换 PC端一般都是利用插件(Flash)来播放视频,可以支持很多格式.网上很多说这个插件的,这里只是做个记录 ...

  10. 使用IDEA将本地项目上传到GitHub

    00.首先保证git和github能够使用ssh连接. 01.在GitHub上新建仓库 需要注意的是不要勾选Initialize this repository with a README. 02.在 ...