三、初识python编程-表达式、运算符(课时9-10)

一、表达式

由一个或几个变量或数字或运算符组成的一行代码,通常返回一个结果,例如a = c + d。

二、运算符

有一个或多个的值经过一系列的运算得到的新值的过程叫做运算。用来操作运算的符号叫做运算符

运算符的分类:

  • 1.算术运算符
#加减乘跟数学上的定义基本一致
#加法
a = 1 + 2 #注意空格,为了保持格式的一致,但不加空格无影响
prin(a)
#减法
b = 9 - 5
print(b)
#乘法
c = 4 * 6
print(c)
#指数
d = 7 ** n # 7的n次方
print(d)

#除法分为普通除法、地板除(取整除)、取余
#普通除法
a = 9 / 2
print
#地板除
b1 = 9 // 2
print(b)  #结果为4
b2 = 9 // -2
print(b2) #结果为-5,结合上一个例子可以看出为向下取整,联系下方取余例子,可以看做是取的商
#取余
c = 9 % 2
print(c) #结果为1
#取余负数案例
c = 9 % -2
print(c) #结果为-1,余数的取值范围为0到除数之间(不包括除数)的整数
  • 2.比较运算符
    对两个内容进行比较,结果是布尔值。
    == 表示等于; != 表示不等于 (两个符号之间没有空格)
    其他符号如>,>=,<,<=
#等于与不等于案例
a = 1
b = 2
c = a == b #a等于b吗?显然不等于,结果为False
print(c)
d = a != b #a不等于b,结果为True
print(d)

#其他符号案例
a = 6
b = 7
c = 6>7
print(c) #6显然不大于7,结果为False
# 值得一提的是,字符串之间也可以比较,通过asc码转化成数来比较
a = "a" #asc码中为65
b = "r" #asc码中为82
c = b > a
print(c) #82>65,结果为True
  • 3.赋值运算符
    将一个值赋予给变量,如a = b + 3,将右边的b + 3的值赋予到左边a这个变量中去,并非等号。更多使用方法可以参考第二篇博客中的变量声明
# 赋值的缩写

#错误写法 
c = c + 3
print(c) #报错,未定义右边的c,能计算出来吗?显然不能。
#正确写法
c = 2
c = c + 3
print(c) #结果为5

# 下面为缩写形式
c = 2
c += 3 #这里等同于c = c + 3
print(c) #结果依然为5
# 同样的,也有其他缩写的形式。如-=;/=;//=;%=;*=;**=。但是python中没有自加自减++;--。
  • 4.逻辑运算符
    对布尔值进行运算的符号。
    and:逻辑与
    or:逻辑或
    not:逻辑非
    运算规则
    and看作乘法,or看作加法
    True看作1,False看作0 (将布尔值看作数字)
    逻辑运算就能看做整数数学运算
    最后结果为0则为False,否则就为True (将数字看作布尔值)
    短路:按照运算顺序计算,一但能确定式子的值,就不会继续运算,直接返回。
# 逻辑运算符案例
a = True
b = True
c = False

g = a or c #等同于1+0
print(g) #结果为1,为True

h = not a #非真,那就是假
print(h) #结果为False

d = a and b #等同于1*1
print(d) #1*1结果还是1,所以为True

e = a and c #等同于1*0
print(e) #1*0结果为0,所以为False

f = 100 and c #等同于1*0,因为除0以外的数字都为True,True在转化为1
print(f) #结果为False

x = 10
y = 20
z = x and y
v = x or y
print(z) #这里结果为20。如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
print(v) #这里结果为10。如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。

# 短路案例
a = True
b = False
c = true
d = a or b and (a and b) #等同于1+…………,结果无论如何不等于0,解释器就不会运算or后面的式子。结果为True。
  • 5.成员运算符
    用来检测一个值或者变量是否在某个集合里面。
    in:在里面
    not in:不在里面
a = [1,2,3,666]
b = 666
c = b in a
print(c) #666在集合a中,所以结果为True
d = b not in a
print(d) #结果为False
  • 6.身份运算符
    用来确定两个变量是否为同一个变量。注意注意注意,两个变量为同一个变量不是两个变量的值相等,这不是一回事。
    is:两个变量为同一个变量
    is not:两个变量不为同一个变量
#身份运算符案例
a = 1
b = 99999
c = a is b
print(c)#结果为False

#如果a,b变量值相等,并不代表a,b是一个变量
a = 27777
b = 27777
c = a is b
print(c) #结果为False
#如果a,b变量值相等,a和b是一个变量的案例
a = 6
b = 6
c = a is 6
print(c) #这时会发现,结果竟然为True
# 以上两种情况为何不同。变量是在内存中开辟一块空间,将值放进去。不同变量有不同的空间储存。但是对于一些较小的经常用的数,python中就已经分配了一块内存,导致这些数所赋予的变量是同一个变量。而这些数为[-5,256]。
  • 7.位运算符

三.运算符优先级

  • 小括号具有最高的优先级
  • **指数 (最高优先级)
    ~± 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
    *,/ ,% ,// 乘,除,取模和取整除
    +,-加法减法
    >>,<< 右移,左移运算符
    & 位 ‘AND’
    ^ | 位运算符
    <= < > >= 比较运算符
    <> == != 等于运算符
    = %= /= //= -= += *= **= 赋值运算符
    is is not 身份运算符
    in not in 成员运算符
    not or and 逻辑运算符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值