Python基础知识篇——运算符

Python基础知识篇——运算符

算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、身份运算符、成员运算符

1)算术运算符
+、-、*、/、//(取整,整除)、%、**(幂)

注意:
1.除(/)的运算结果数据类型为float
2.字符串,列表,元组有+,代表拼接,非字符串和字符串进行拼接时要将非字符数据str()转为字符串。事实上str()的参数也可以是字符串。
3.字符串,列表,元组有*,代表 “复制”>>'wy'*3 output : wywywy

2)赋值运算符

赋值的方式有多种:基本赋值,序列赋值,链接赋值,复合赋值

#基本赋值
a=1
#序列赋值
a,b,c=9,2,1   #即a=1;b=2;c=3;
#链接赋值
a=b=c=1	#即a=1;b=1;c=1;
#复合赋值
a=1
a+=1	#即a=a+1

3)比较运算符

==、<=、>=、!=、<、>
比较运算符真,假,分别返回bool变量True,False
注意:
1.True,False首字母大写
2.非零的数值变量,非空字符串为真,bool()进行类型转换得到True,eg. print(bool(1)) output:True

4)逻辑运算符

运算符逻辑表达式说明
andx and y与: x为假,则返回x的值,否则返回y的值
orx or y或: x为真,则返回x的值,否则返回y的值
notnot x非: x为真,则返回False,否则返回True

注意
1.由于非零数值变量,非空字符串为真,所以逻辑表达式返回的值不一定是True ,False,可能是操作数的值
2.性能优化: 短路
3.操作数与运算符之间有空格
示例:

print(not 0)    # True
print(not 1)    # False
print(1+2 or 9) # 3
print(0 or 8)   # 8
print(0 and 3)  #0
print(1 and 2)  #2

在这里插入图片描述

5)位运算符

~,&、|、^、<<、>>
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6)身份运算符
身份运算符用于比较两个对象的存储单元,内存地址相同的两个变量进行is运算,返回True;内存地址不同的两个变量进行is not运算,返回True。

运算符说明
is判断两个对象的存储单元是否相同
is not判断两个对象的存储单元是否不同

注意操作数与运算符之间有空格
示例
在这里插入图片描述
注意区分不可变类型可变类型的情况,有关两种类型的说明:不可变类型就是对象创建了之后不能改变对象的状态

#以str为例,number类似,tuple本身不可修改
s1='fksla'
s2=s1
print(s2 is s1)   #此时s1,s2对象引用指向的是同一个对象,同一片内存空间
print(id(s1),id(s2))  #id()返回指向的对象的地址
s1=s1+'s'	#这个s1已经不再是之前的s1,并不是指它原来指向的对象的值改变了,而是内存中开辟了一个新的内存存放新的值,而s1是这个新的对象的对象引用,这个和java里的字符串一样
print(s2 is s1)     
print(id(s1),id(s2))
#output
# True
# 2623639886384 2623639886384
# False
# 2623639834736 2623639886384

#而像list,dict是可变对象,以list为例
l1=[1,2,'ds']
l2=l1
print(l1 is l2)
print(id(l1),id(l2))
l1.append(2)
print(l1 is l2)
print(id(l1),id(l2))

#output
# 
# True
# 2926545055104 2926545055104
# True
# 2926545055104 2926545055104

在这里插入图片描述

7)成员运算符
成员运算符的作用是判断某个指定值是否存在与某个序列中,包括字符串,列表,元组

运算符说明
in如果在指定序列中存在指定值,返回True,否则返回False
not in如果在指定序列中不存在指定值,返回True,否则返回False

注意操作数与运算符之间有空格
示例:

a=[1,2,3]
print(1 in a)   #True
print(4 in a)   #False
print('y' not in 'wyy') #False

8)三元运算符

在这里插入图片描述

运算符的优先级

大体上为:
单目运算符(操作数为1)>算术运算符>比较运算符>赋值运算符>身份运算符>成员运算符>逻辑运算符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yun_gao_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值