第四课 运算符

运算符

  • 运算符
    • 运算符的概念
    • 运算符的分类
    • 算术运算符
    • 赋值运算符
    • 比较运算符
    • 逻辑运算符
      • not 逻辑非
      • and 逻辑与
      • or 逻辑或
      • 非布尔值的与或运算
    • 条件运算符(三元运算符)
    • 运算符的优先级
  • 作业

运算符

运算符的概念

  • 运算符用于执⾏程序代码运算,会针对⼀个以上操作数项⽬来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”

运算符的分类

  • 算术运算符
  • 赋值运算符
  • 比较运算符(关系运算符)
  • 逻辑运算符
  • 条件运算符(三元运算符)

算术运算符

  • 加法, 表现形式 +
  • 减法, 表现形式 -
  • 乘法, 表现形式 *
  • 除法, 表现形式 /
  • 整除,表现形式//,只会保留计算后的整数位,总会返回⼀个整型
  • 取模,表现形式%,求两个数相除的余数
  • 幂运算,表现形式**,求⼀个值的⼏次幂

赋值运算符

赋值运算符的特殊写法 x = x + 3 其实是和 x += 3 是⼀样的

  • += (x+= 3 相 当 于 x = x + 3 )
  • -= (x -= 3 相当于 x= x - 3 )
  • *= (x = 3 相 当 于 x = x 3 )
  • **= (x **= 3 相 当 于 x = x ** 3 )
  • /= (x /= 3 相 当 于 x = x/ 3 )
  • //= (x //= 3 相当于 x = x // 3 )
  • %= (x %= 3 相 当 于 x= x % 3 )

比较运算符

  • 比较运算符⽤来比较两个值之间的关系,总会返回⼀个布尔值.如果关系成⽴,返回True,否则返回False
  • ‘>’ 比较左侧值是否⼤于右侧值
  • ‘>=’ 比较左侧的值是否⼤于或等于右侧的值
  • ‘<’ 比较左侧值是否⼩于右侧值
  • ‘<=’ 比较左侧的值是否⼩于或等于右侧的值特殊的⽐较⽅式
  • ‘==’ 比较两个对象的值是否相等
  • ‘!=’ 比 较 两 个 对 象 的 值 是 否 不 相 等 is 比较两个对象是否是同⼀个对象,比较的是对象的id
    (上面对比的是值)
  • ‘is’ 比较两个对象是否同一个对象
  • ‘is not’ 比较两个对象是否不是同⼀个对象,比较的是对象的id
    (is、is not 比较的是两个对象是否是一个对象,比较的是id)

逻辑运算符

not 逻辑非

not可以对符号右侧的值进⾏⾮运算,对于布尔值,⾮运算会对其进⾏取反操作,True变False,False变True

and 逻辑与

and可以对符号两侧的值进⾏与运算。 只有在符号两侧的值都为True时,才会返回True,只要有⼀个False就返回False
与运算是找False的,如果第⼀个值为False,则不再看第⼆个值
如果第一个值是False,则不看第一个值,反之直接返回第二个值

or 逻辑或

或运算两个值中只要有⼀个True,就会返回True ,或运算是找True

非布尔值的与或运算

当我们对⾮布尔值进⾏与或运算时,Python会将其当做布尔值运算,最终会返回原值。
⾮布尔值与运算的规则

  • 与运算是找False的,如果第⼀个值是False,则不看第⼆个值。如果第⼀ 个值是False,则直接返回第⼀个值,否则返回第⼆个值
  • ⾮布尔值或运算的规则
    或运算是找True的,如果第⼀个值是True,则不看第⼆个值。如果第⼀个值是True,则直接返回第⼀个值,否则返回第⼆个值

条件运算符(三元运算符)

条件运算符在执行时,会先对条件表达式进⾏求值判断。如果判断结果为True,则执行语句1,并返回执行结果;如果判断结果为False,则执⾏语句2,并返回执行结果
语法:语句1 if 条件表达式 else 语句2
注:语句2并非表达式

运算符的优先级

第四课 运算符_第1张图片

作业

1、以4种格式化字符串的方式来实现521 xxx 嫁给我好吗?

  • 第一种
    下面展示一些 内联代码片
a = '512'
b= ' XXX '
c='嫁给我好嘛'
print(a+b+c)
  • 第二种
a = '512'       
b= ' XXX '      
c='嫁给我好嘛'       
d=f'{a} {b}{c}' 
print(d)        
  • 第三种
a = '512'                
b= ' XXX '               
c='嫁给我好嘛'                
d='{}{}{}'.format(a,b,c) 
print(d)                 
  • 第四种
a = '512'            
b= ' XXX '           
c='嫁给我好嘛'            
d='%s%s%s'%(a,b,c)   
print(d)             

2、现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值

a=input('请输入一个整数')             
b=input('请输入一个整数')             
c=input('请输入一个整数')             
d= a if a >b else b            
e= d if d >c else c            
print(e)                          
raw=[]
for i in range(3):
    x=int(input('int%d: '%(i)))
    raw.append(x)

for i in range(len(raw)):
    for j in range(i,len(raw)):
        if raw[i]>raw[j]:
            raw[i],raw[j]=raw[j],raw[i]
print(raw)                   

你可能感兴趣的:(python)