03运算符

目录

一、数学运算符

二、比较运算符

三、逻辑运算符

四、赋值运算符

五、三目运算符 

六、运算符的优先级


一、数学运算符

数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)

运算符描述示例
+1+2 输出结果为 2
-2-1 输出结果为 1
*2*3 输出结果为 6
/5/2 输出结果为 2.5
%取模/求余 - 返回除法的余数5%2 输出结果为 1
//整除 - 返回商的整数部分5//2 输出结果为 2
**幂 - x ** y 返回x的y次幂8**(1/3) 输出结果为 2

 注意:

 1. /(除法)的运算结果一定是小数,其他运算符的运算结果看运算对象的类型(运算对象中只要有一个是浮点数,结果就是浮点数,如果都是整数结果就是整数)

print(5 + 2)           # 输出为 7
print(5 - 2)           # 输出为 3
print(5 * 2)           # 输出为 10
print(5 / 2)           # 输出为 2.5
print(6 / 2)           # 输出为 3.0
print(5.5 + 5.5)       # 输出为 11.0

2. %(取模)的应用场景

  1.  判断一个数是否能够被另外一个数整除。(判断余数是否为0)
    print(10 % 3)   # 输出为1
    print(9 % 3)    # 输出为0
  2. 取整数的低位数,去掉高位数。(对10或者10的N次方取余,结果一定是这个整数的后N位数)
    num = 2892867
    print(num % 10)      # 输出为7
    print(num % 100)     # 输出为67
    print(num % 1000)    # 输出为867

 3. //(整除)—— 求商,商向小取整(取和商相邻的两个整数中较小的那个)

print(5 // 2)        # 2
print(1.8 // 2)      # 0.0
print(-5 // 2)       # -3

应用场景:

  1. 计算生活逻辑中完整个数(计算一个数中有多少个完整的另外一个数)。
    # 案例:100元可以买多少个苹果(单价3.5元)?
    print(100 // 3.5)       # 28.0
  2. 去掉整数的低位数,保留高位数(对10的N次方进行整除操作)
    num = 28934
    print(num // 10)       # 2893
    print(num // 100)      # 289
    print(num // 1000)     # 28

练习:

# 练习:写程序获取任意一个正整数的十位数
num = 12562
# 方法1
print(num // 10 % 10)

# 方法2:
print(num % 100 // 10)

4. **(幂运算) 

print(8 ** (-1/3))   # 0.5
print(2 ** -2)  # 0.25
print(4 ** (1/2))   # 2.0

二、比较运算符

比较运算符:>(大于)、<(小于)、==(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)

1. 所有比较运算符的运算结果都是布尔值

print(10 > 20)       # False
print(10 < 100)      # True
print(10 == 20)      # False

num = 28
print(num % 2 == 0)  # True

2. python的比较运算符支持连写表示范围

age = 22
print(18 <= age <= 30)

三、逻辑运算符

逻辑运算符:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)

运算符描述运算规则实例
and用于连接需要同时成立的两个条件,相当于生活中的'并且'

条件1 and  条件2

如果两个都是True结果就是True,只要有一个是False结果就是False

True and True  ->  True

True and False ->  False

False and True ->  False

False and False -> False

or如果两个条件中只要有一个条件成立就行,就用or连接,相当于生活中的'或者'

条件1 or 条件2

如果有一个是True结果就是True,两个都是False结果才是False

True and True  ->  True

True and False ->  True

False and True ->  True

False and False -> False

not对条件进行否定,条件正向写很麻烦很复杂,反向却很简单,就条件反向写然后在前面加notnot 条件

not True   ->   False

not False ->   True

 and案例:

# 案例:写程序判断num是否能够同时被3和7整除
num = 21
# num是否能够被3整除: num % 3 == 0
# num是否能够被7整除: num % 7 == 0
print('num是否能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)  # True

 or案例:

# 练习1:写程序判断num是否能够被3或者7整除
num = 829
print(num % 3 == 0 or num % 7 == 0)

# 练习2:判断num是否是一个大于10的偶数
num = 99
# num大于10:num > 10
# num是否是偶数:num % 2 == 0
print(num > 10 and num % 2 == 0)

# 练习3:判断year对应的年份是否是闰年
year = 1999
# 世纪闰年(能被400整除的年):year % 400 == 0
# 普通闰年:能被4整除但是不能被100整除:  year % 4 == 0  and  year % 100 != 0
print((year % 400 == 0) or (year % 4 == 0 and year % 100 != 0))

 not 案例:

# 案例:判断age是否不大于18
age = 19
print(not age > 18)  # False
print(age <= 18)

# 案例:判断year是否不是闰年
print(not ((year % 400 == 0) or (year % 4 == 0 and year % 100 != 0)) 

四、赋值运算符

 赋值运算符:=、+=、-=、*=、/=、%=、//=、**=

赋值运算符描述实例
=简单的赋值运算符x = y     x = y
+=加赋值x += y    x = x + y
-=减赋值x -= y    x = x - y
*=乘赋值x *= y    x = x * y
/=除赋值x /= y    x = x / y
%=取模赋值x %= y    x = x % y
//=整除赋值x //= y    x = x // y
**=幂赋值x **= y    x = x ** y

注意: 

1. 所有的赋值运算符作用:将数据保存到变量中(给变量赋值),所以赋值符号的前面必须是变量名 

    所有的赋值运算表达式都没有结果,无法提供数据

2. 变量 += 数据——先将变量中的数据取出来,和后面的数据进行加法运算,然后将计算结果重新      赋值给变量
    **复合的赋值运算法前面的变量必须是已经定义过的变量**

a = 100

a += 10
print(a)            # 110

a -= 20
print(a)            # 90

a *= 2
print(a)            # 180

a %= 2
print(a)            # 0

五、三目运算符 

1. C语言的三目运算符:

条件语句?值1:值2 

先判断条件语句是否为真,如果是整个运算表达式的结果就是值1否则结果是值2

2. python的三目运算符:

值1 if 条件语句 else 值2

 先判断条件语句是否成立,如果是整个运算表达式的结果就是值1否则结果是值2

# 案例
age = 8
print('成年' if age >= 18 else '未成年')

# 练习
nums = [19, 8, 78, 93, 37, 82, 19]
result = [i * 2 if i % 2 else i // 2 for i in nums]
print(result)    # [38, 4, 39, 186, 74, 41, 38]

六、运算符的优先级

  1. 数学运算符 > 比较运算符 > 逻辑运算符  > 赋值运算符(最低)
  2. **   >  *、/、%、//   >   +、-
  3. not  >  and   >   or
  4. 有()先算()里面的
  • 34
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值