Python零基础入门教学-运算符

作者: 叮噹貓の神 分类: python 教学,微软应用程式 发布时间: 2019-10-29 17:58
Python – 图片摘自网络

Hi,大家好,欢迎大家参阅本站的Python零基础入门教学系列课程,我是本系列教程的作者叮当猫,在往后的日子里我将不定时的更新这一系列教学课程,本系列课程主要以文字或视频教学方式为主欢迎大家参阅,如在学习中有任何疑问或建议,我们都欢迎您向我们提出,同时也欢迎加入我们的QQ技术交流群探讨:544185435。

运算符是什么?

我们在上学时曾接触过很多运算符,比如说:加号、乘号、减号等等,在本文中,我们将分享一些在学校的课本中不会涉及到的关于运算符的知识。首先我们来简单的看一下一些常用的运算符术语:【一元运算符】、【二元运算符】、【运算元】

  • 运算元 —- 运算符应用的对象。比如说乘法 5 * 2,这里有两个运算元;左运算元 5 和右运算元 2 ,很多时候这个运算元我们也称之为:参数。
  • 如果一个运算符对应的只有一个运算元,那么它就是一元运算符,比如说负号,它的作用就是对数值进行正负转换。
  • 如果一个运算符拥有两个运算元,那么它就是二元运算符,值得注意的是,加号与减号,除了可以作为一元运算(即正负转换)之外,亦可以作为二元运算符使用,但必须同时在两个运算元之间。
print(-1)#实例中-1的减号在这里作为一元运算符使用。
a = 1
b = 2
c = a - b #该实例中,a-b的减号作为二元运算符使用。

以上实例我们共使用了两次减号运算符,但我们需要注意的是,它们看起来都是一个减号,但实际上它们的作用是不一样的,现在我们看到的是两个运算符,一元运算符用作(单一运算,用于改变正负);二元运算符用作(减法运算)

a = 'Hello'
b = 'itmaohome'
print(a + ' ' + b)#将输出:Hello itmaohome;在这里的加号,则作为字符串合并使用

上述实例中,我们使用加号运算符将三个字符串链接到了一起,而这是加号运算符的另一种功能,而这个功能也是在学校的课本中是没有涉及到的,事实上,乘号也有另一个特殊的用法,那就是重复,如下:

a = 'hello itmaohome'
print(a * 5)#输出'hello itmaohomehello itmaohomehello itmaohomehello itmaohomehello itmaohome'.由此可以看出,加号用于连接字符串,乘号则可以重复的输出。

那么运算符到底是什么呢?运算符是可以通过给出的一个或多个值产生另一个值的东西,操作两个值的称作二元运算符(亦称之为:双目运算符)、操作三个值的称作三元运算符(亦称之为:三目运算符)例如:2+3,这里运算符是“+”号,两个值分别是:2、3,“+”号是一个算术运算符。通常我们可以把运算符理解为数学计算中的加减乘除一类的东西,而在编程语言中;运算符分为:

  • 算术运算符: + – * / %
  • 赋值运算符:=、+=、-=、*=、/=、%=、**=、//=
  • 位运算符: &|^~<<>>
  • 关系运算符: > >= == <= <
  • 递增、递减运算符:++–
  • 逻辑运算符: and、or、not
  • 条件运算符:if、else

作为初学者,我建议大家应掌握: 算术运算符、赋值运算符、关系运算符、逻辑运算符,条件运算符 。

算术运算符

算术运算符: + – * / % 分别对应数学中的加、减、乘、除、取余。

  • “+”加号用作加法运算或合并对象,如:a(2) + b(3) = 5或a(‘hello ‘) + b(‘itmaohome’) = ‘hello itmaohome’
  • “-”减号用作减法运算,如:a(5)-b(3)=2;注意,减号没有类似加号的合并功能,仅能作为运算符使用。
  • “*”乘号用作乘法运算或是返回一个被重复若干次的字符串,如:a(2) * b(3)=6或a(‘hello itmaohome ‘) * 3 = ‘hello itmaohome hello itmaohome hello itmaohome ‘。
  • “/”除号用作除法运算,如:a(6)/b(3)=2。
  • “%”取余(有时也称取模)用作取余运算,如:a(10)%b(20)=0

扩展小知识:在python中,乘号和除号还有另外一个作用,如在运算中使用两个“*”号可返回X的Y次幂,而使用两个“/”号则返回商的整数部分(向下取整

赋值运算符

赋值运算符的作用跟数学中的等于号作用是一样的,都是用于赋值运算的,比如:2+3=5;但在python中,我们除了可以用作数值运算之外,还可以用作给变量赋值,如:c=a+b,将等号右边的值赋值给了左边。

a = 2 + 3#将等于号(赋值运算符)右边的结果赋值给左边的变量
a = 0
a += 5#等价于a = a + 5(即:a = 0 + 5),加法赋值运算
a -= 1#等价于a = a - 1(即:a = 5 - 1),减法赋值运算
a *= 2#等价于a = a*2(即:a = 4 * 2),乘法赋值运算
a /= 2#等价于a=a/2(即:a=8/2),除法赋值运算
a %= 2#等价于a=a%2(即:a=4%2),取余赋值运算
a = 2
a **= 2#等价于a=a*2(即:a = 2*2),指数幂赋值运算
a = 9
a //= 2#等价于a=a//2(即:a = 9//2),取整赋值运算

关系运算符

关系运算符常用作比较运算,返回值为布尔(bool)类型;意味着它只有两个值:True或False。关系运算符有: >(大于) 、>=(大于或等于)、 == (等于:非赋值运算符)、<=(小于或等于)、 <(小于),实例如下:

a = 'itmaohome'
b = 'itmaohome'
c = a == b#c的值为True
a = 1 == 1#a的值为True
a = 2
b = 5
print(a < b)#a小于b所以返回True
print(a<=b)#a小于或等于b条件成立所以返回True
print(a>b)#a小于b条件不成立返回False
print(a>=b)#a小于b条件不成立返回False
print(a!=b)#a是为2,b是5,a不等于b条件成立返回True

逻辑运算符

见名思意,逻辑运算符用作逻辑运算,在python中逻辑运算符的标识可能与别的编程语言的有些出入,其它语言的逻辑运算符一般是用:&&(且)、||(或)、!=(非)标识,而在python中,我们则采用英文单词来标识:and(且)、or(或)、not(非),逻辑运算符一般出现在两组关系运算符之间,请看实例:

name = 'zhangsan'
age = 18
print(name == 'zhangsan' and age == 18)#逻辑且(亦称与)运算符:当两侧条件成立则返回True否则返回False,所以这里返回True.
print(name == 'ls' and age == 18)#由于左侧条件不成立所以返回False.
print(name == 'ls' or age == 18)#逻辑或运算符:当两侧条件任意一侧成立都返回True,否则返回False,所以这里返回的是True
b = True
print(b is not True)#逻辑非运算符:常用于取反,这是个特殊的运算符,只需给一个True或者False即可,如这里的b为真,我们使用is not True意思是:“这不是真的”,那么事实上它就是真的所以它会告诉你,错了,它是真的,所以返回False;其实这里我们可以简写成:not True返回False、not Fale则返回True

值得注意的是:0和None在逻辑运算中为False的。

条件运算符

条件运算符只有两个:if、else还有个不为真时再继续判断的elif(即:else if的缩写),常用于条件的判断;如:如果我有100W,我会 XXX 或者我有1000W我又会 XXX 否则的话就别跟我说话了;通常写法为:

if a == 2:
    print('是的我啊2')
elif a == 3:
    print('是的我是啊3')
else:
    print('好吧,看来以上都不是.')

条件运算符在开发过程中会经常用到,所以我们一定要熟练,上述代码演示了条件运算符的简单使用方法,请一定要注意缩进,python没有像其它开发语言的所谓的代码块的说法,python是通过缩进来标识一段代码区域的,另外,我们在写条件表达式时,要以“:”号结尾而不是像其它语言中的“{}”;后续学习的for循环、while循环亦如此。

位运算符

位运算符在实际的开发过程中使用得比较少,它主要用作二进制运算,那么这里就简单的介绍一下吧!

  • &按位与:1&1=1,1&0=0,0&1=0,0&0=0 只要对应的两个二进位都为1时,结果位才为1。
  • |按位或: 1|1=1,1|0=1,0|1=1,0|0=0 只要对应的两个二进位有一个为1时,结果位就为1 。
  • ^ 按位异或:  11=0,10=1,01=1,00=0 当两个对应的二进位相异时,结果为1。
  • ~ 按位取反: 如果a=2,那么~a=-(a+1) =-3 记住~a=-(a+1)这个公式即可 。
  • <<左位移: 运算数的各二进位全部左移n位,由”<<“右边的
    数指定移动的位数,高位丢弃,低位补0。左移一
    位都相当于乘以2的1次方,左移n位就相当于乘以2
    的n次方。
  • >>右位移: 把”>>”左边的运算数的各二进位全部右移n位,
    “>>”右边的数指定移动的位数。右移一位相当于除
    2,右移n位相当于除以2的n次方取商。

成员运算符

python中成员运算符只有:in、not in;常用于判断序列成员是否存在,如判断成员是否在列表、元祖、字符串或者集合中,返回值为布尔类型(bool);实例如下:

list = ['python','cpp','java','c#']
print('python' in list)#返回True
print('python' not in list)#返回False
name = 'itmaohome'
print('itmao' in name)#返回True
print('hello' not in name)#返回True

运算符优先级

上述的运算符是有分等级的( 即执行顺序 );以下为运算符优先级排列,从高到低。

  • ** 指数幂( 优先级最高 )
  • ~ + – 按位翻转, 一元加号和减号 (最后两个的方法名为 [email protected][email protected])
  • * / % // 乘,除,取模和取整除
  • + – 加法减法
  • >> << 右移,左移运算符
  • & 位 ‘AND’
  • ^ | 位运算符
  • <= < > >= 比较运算符
  • <> == != 等于运算符
  • = %= /= //= -= += *= **= 赋值运算符
  • is is not 身份运算符
  • in not in 成员运算符
  • not and or 逻辑运算符

总结

今天我们主要学习了python中的常用运算符及其使用方法,原本这篇打算是写条件控制的,但由于条件控制需用到部分运算符,便索性先讲它了,那么条件控制将会在下一期讲解,希望大家继续参阅!

知识共享许可协议 本文遵循 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议。未经本站授权仅允许进行复制或转载,禁止二次利用,版权归IT猫之家所有!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!