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)逻辑运算符

运算符 逻辑表达式 说明
and x and y 与: x为假,则返回x的值,否则返回y的值
or x or y 或: x为真,则返回x的值,否则返回y的值
not not 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

Python基础知识篇——运算符_第1张图片

5)位运算符

~,&、|、^、<<、>>
Python基础知识篇——运算符_第2张图片
在这里插入图片描述
在这里插入图片描述

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

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

注意操作数与运算符之间有空格
示例
Python基础知识篇——运算符_第3张图片
注意区分不可变类型可变类型的情况,有关两种类型的说明:不可变类型就是对象创建了之后不能改变对象的状态

#以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

Python基础知识篇——运算符_第4张图片

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)三元运算符

Python基础知识篇——运算符_第5张图片

运算符的优先级

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

你可能感兴趣的:(Python,python)