Python从入门到上瘾04——运算符以及表达式

版权申明:原创文章,未经博主同意,不得转载!

Python从入门到上瘾04——运算符以及表达式

小白高效学习Python系列,50小时学会Python
表达各个变量间的关系,实现对变量的处理,就必须用到运算符以及表达式。通俗来讲,具有运算功能的符号称为运算符;由值、变量和运算符组成的式子为表达式

“ 阅读本文需要大约10分钟。”

01 赋值、算数、位运算符

赋值运算符通俗来讲就是,把某种数据类型的值赋于某个变量。Python允许同时为多个变量赋值。

name='IEEE'
Alice, Bob, Charlie = '18岁','Beautiful', '帅'     # 多个变量同时赋值

有时为简化程序,便于美观,可以在赋值运算符前结合其他运算符,称为复合赋值运算。例如:

a,b=12,11
c-=a  #等价于c=c-a
c%=a  #等价于c=c%a

其余复合赋值运算符如下:

+=加法赋值
-=减法赋值
*=乘法赋值
/=除法赋值
%=模运算赋值
<<=左移赋值
>>=右移赋值
&=位逻辑与赋值
=位逻辑或赋值
^=位逻辑异或赋值

算数运算符,算数运算符主要用于数学运算,例如

a=12
b=7
print(a//b) #运算结果为1

Python中算数运算符如下表

+加 - 两个对象相加
-减 - 得到负数或是一个数减去另一个数
*乘 - 两个数相乘或是返回一个被重复若干次的字符串
/除 - x除以y
%取模 - 返回除法的余数
**幂 - 返回x的y次幂
//取整除 - 向下取整

位运算符,把数字看作二进制来进行计算。位运算符可以直接操作整数类型的二进制位。例如

a=0xFFFF #十六进制
b=0b0011110000001111  #二进制
print(a&b)
print(a|b)
print(a<<2) 
print(a>>2)

运算结果如下

15375 # 0b11110000001111
65535 # 0b1111111111111111
262140 # 0b111111111111111100
16383 # 0b11111111111111

位运算符如下表

&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^按位异或运算符:当两对应的二进位相异时,结果为1
~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。
<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
>>右移动运算符:>>左侧的运算数的各二进位全部右移若干位,>> 右侧的数字指定了移动的位数,高位补0

02 比较、逻辑运算符

比较运算符也可叫做关系运算符,常用来比较两个数字的大小关系,返回值为True或者False。例如

a = 16
b = 18
if  a == b :
   print(" a 等于 b")
else:
   print (" a 不等于 b")

其余比较运算符如下表:

==等于 - 比较对象是否相等
!=不等于 - 比较两个对象是否不相等
<>不等于 - 比较两个对象是否不相等
>大于 - 返回x是否大于y
<小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。
>=大于等于 - 返回x是否大于等于y。
<=小于等于 - 返回x是否小于等于y。

逻辑运算符,Python中只能使用and,or,not三种逻辑运算符。例如

a = 10
b = 20
 
if  a and b :
   print ("变量 a 和 b 都为 true")
else:
   print (" 变量 a 和 b 有一个不为 true")

其余逻辑运算符如下

andx and y布尔"与", 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
orx or y布尔"或" , 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。
notnot x布尔"非" ,如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

03 成员、身份运算符

成员运算符(in,not in) 用来验证某个实例中是否存在给定的变量。该实例可以是字符串、列表、元组(后面会详细讲解)。

in如果在指定的序列中找到值返回 True,否则返回 False。如果 x 在 y 序列中返回 True。
not in如果在指定的序列中没有找到值返回True,否则返回 False。如果 x 不在 y 序列中返回 True。
a = 1
list = [1, 2, 3, 4, 5];
if ( a in list ):
   print (" 变量 a 在给定的列表中 list 中")
else:
   print (" 变量 a 不在给定的列表中 list 中")
   
b ='C'
s = 'Charlie' 
if ( b not in s ):
   print ("变量 b 不在给定的字符串中 s 中")
else:
   print ("变量 b 在给定的字符串中 s 中")

运行结果如下

变量 a 在给定的列表中 list 中
变量 b 在给定的字符串中 s 中

身份运算符(is),用来比较两个标识符是不是引用自一个对象。要说明身份运算符,就得先来讲讲Python中变量的属性。Python中变量有3种属性,变量名(name),值(value),内存地址(id)。比较运算符“==”比较的是变量的值(value);身份运算符’‘is’’,比较的是变量内存地址(实际上说成是内存地址并不准确,新手可以这么理解)。下面代码说明了两者运算过程。

a = [1,2,3]
b = [1,2,3]
print(id(a))#2332942295624
print(id(b))#2332942295688
print(a is b) #False
print(a == b) #True
​
c = 1
d = 1
print(id(c)) #140727065228112
print(id(d)) #140727065228112
print(c is d) #True 
print(c == d) #True

本期到此结束,扫下面二维码加Python学习公众号,有海量优质资源免费领取!
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值