第四节课

1.什么是运算符

1.1运算符的概念

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

1.2 运算符的分类

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

2. 算术运算符

  • 加法运算符 表现形式 +
    在这里插入图片描述
    可以进行字符串(str)的拼串

  • 减法运算符 表现形式 -
    不可以进行字符串的相减

  • 乘法运算符 表现形式 *
    在这里插入图片描述

只可以进行字符串乘整数

  • 除法运算符 表现形式 /
    输出结果为浮点型
    在这里插入图片描述

  • // 整除,只会保留计算后的整数位,总会返回⼀个整型

  • % 取模,求两个数相除的余数

  • ** 幂运算,求⼀个值的⼏次幂

  • 没有所谓的开平方 可以用
    在这里插入图片描述

  • 开根号
    在这里插入图片描述

3. 赋值运算符

62
赋值运算符的特殊写法 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 )

在这里插入图片描述
在这里插入图片描述

4. ⽐较运算符

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

5.逻辑运算符

5.1 not 逻辑⾮

  • not可以对符号右侧的值进⾏⾮运算,对于布尔值,⾮运算会对其进⾏取反操作,True变False,False变True
  • 逻辑非 not : 0 空串’’ None 还有一些表示空性的值都会转化为False
  • 逻辑非 not :其他的所有值都可以转换为True

5.2 and 逻辑与

  • 逻辑与的布尔值的运算:and可以对符号两侧的值进⾏与运算。 只有在符号两侧的值都为True时,才会返回True,只要有⼀个False就返回False

  • 逻辑与 and :逻辑与是找False,有直接返回False, 没找到则返回True
    在这里插入图片描述

  • 逻辑与的非布尔值的运算: 与运算规则是找False,如果第一个值是False,则不看第二个值,直接返回第一个值,否则直接返回第二个值
    在这里插入图片描述

5.3 or 逻辑或

  • 或运算两个值中只要有⼀个True,就会返回True
  • 或运算是找True的
    逻辑或 or : 逻辑或是找True, 找到了则直接返回True, 没找到则返回False
    在这里插入图片描述
    逻辑或 or 的非布尔值运算: 如果第一个值是True, 则不看第二个值,直接返回第一个值,否则直接返回第二个值
    在这里插入图片描述

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

在这里插入图片描述
条件运算符在执⾏时,会先对条件表达式进⾏求值判断
如果判断结果为True,则执⾏语句1,并返回执⾏结果
如果判断结果为False,则执⾏语句2,并返回执⾏结果
语法: 语句1 if 条件表达式 else 语句2
在这里插入图片描述
在这里插入图片描述

7. 运算符的优先级

在这里插入图片描述
官方网址谷歌翻译的
在这里插入图片描述

切片

  • 切⽚是指从现有列表中获得⼀个⼦列表
  • 通过切⽚来获取指定的元素
  • 语法: 列表[起始 : 结束 : 步⻓]
  • 通过切⽚获取元素时,会包括起始位置的元素,不会包括结束位置的元素
  • 起始位置和结束位置的索引可以不写
  • 如果省略结束位置, 则会从当前的开始位置⼀直截取到最后
  • 如果省略开始位置, 则会从第⼀个元素截取到结束的元素,但是不包括结束的元素
  • 如果开始位置和结束位置都省略, 则则会从第⼀个元素开始截取到最后⼀个元素
  • 步⻓表示每次获取元素的间隔,默认是1(可以省略不写)
  • 步⻓不能是0,但可以是是负数
  • 切片语法: a[开始位置:结束位置:步长] 取头不取尾 左闭右开区间
  • 省略了开始,结束位置以及步长的大小 这就是默认的状态,默认就是从最开始取数据,取到最结尾, 步长为1
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    #作业
    以4种格式化字符串的⽅式来实现 521 xxx 嫁给我好吗?
# 第一种方法 拼串
a = '521'
b = '美女'
c = '嫁给我好吗?'
print(a + b + c)
# 第二种方法 参数传递
a = '521'
b = '美女'
c = '嫁给我好吗?'
print(a,b,c)
# 第三种方法 占位符
a = '%s美女嫁给我好吗?'%'521'
print(a)
# 第四种方法 f'{变量}'
a = '美女'
b = '521{}'.format(a)+'嫁给我好吗?'
print(b)
# 还是第四种的另外方法
a = '美女'
b = f'521{a}嫁给我好吗?'
print(b)

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

# 第一种方法
a = 100
b = 233
c = 520
a_b = a if a>b else b
max1 = a_b if a_b>c else c
print(max1)
# 第二种,用字符串的比较大小
a = 100
b = 233
c = 520
print(max(a,b,c))
# 类似第一种的
a = 100
b = 233
c = 520
max1 = (a if a > b else b) if (a if a > b else b) > c else c
print(max1)
# 百度到的,但是看不懂a > b and a > c是做什么
a = 100
b = 233
c = 520
max1 = a if a > b and a > c else (b if b > c else c)
print(max1)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值