运算符/操作符---程序的关系构造者

运算符/操作符—程序关系的构造者

算术运算符

+ - * / // ** %
注意:

/ 是正常除法 // 是向下取整除法 +用于字符串/列表/元组是拼接,*是重复

print(1 + 2)
print(1 / 3)
print(1 // 3 )
print(2 ** 4)
print(100 - 2)
print(10%3)
算术运算符 意义 举例子
+ 加,数学意义加法;字符串/列表/元组的连接接; 5+3;hello'+'world'
- 数学意义的减法,两个数相减 10-6
* 数学意义的乘法;序列的重复 5*5;'hello'*5
/ 数学上的除法 10/2
// 数学上的除法,向下取整 10/3
% 模,取余数 10%3 == 1
** 幂,次方 2**3 == 8

比较运算符

< > <= >= == != 最终返回的是布尔值

注意:比较运算符可以使用在字符串上,但是< > <= >=用的不多,但是 ==与!=用的比较多

print(3 > 2)
print(10 < 20)
print('num' != 'num')
print('age' == 'agee')

比较运算符 意义 例子
< 小于 5<8
> 大于 6>10
<= 小于等于 5<=10
>= 大于等于 4>=3
== 等于(比较的是值) 5 == 5;'name' == 'liyao'
!= 不等于 6!=6; 'age' != 18

赋值运算符

= += -= *= /= //= **= %= 通常用于变量的赋值

name = 'li_yao'
age = 18
num += 1
num -= 1
count %= 2

赋值运算符 例子
= name = 'liyao'
+= num += 1
-+ num -= 1
*= num *= 2
/= num /= 4
//= num //= 5
**= num **= 2
%= num %= 3

逻辑运算符

连接表达式或者值,对其进行布尔运算

优先级从左到右 ()> not > and > or

  1. 简单情况,两边都为布尔值或者表达式,最终结果是布尔值
逻辑操作符 意义 用法
and 同真为真,有假为假 2>3 and 6<10,True and False, False and 'name'
or 同假为假,有真为真 2>3 or 6<10,False or True, 2 or 3
not 取反,真为假,假为真 not (2>3),not False,not True, not 'age'
  1. 两边至少有一边不是布尔值的情况

逻辑运算情况:符号两边有至少一个不是布尔值,则会对其进行布尔转换,在进行逻辑运算
​ * and 遇到假就停止,返回该布尔值对应的原值,直到最后一位,如果没假就返回最后一位原值
​ * or 遇到真就停止,返回该布尔值对应的原值,直到最后一位,如果没有真就返回最后一位值
​ * not 取反返回布尔值

遇到逻辑运算和比较运算时,从左到右进行运算。也就是优先级一致

print(3 > 2 and 4 > 3)
print(0 and  1)
print(1 or 2 )
print(not 2)
print( False or 0 )
print( 0 or 1 < 3 )
print( 1 < 3 or 0)

成员操作符

用于判断序列(字符串/列表/元组),或者字典,集合中的是否存在某个元素 in not in

list1 = ['alex', 'bob', 'mei', 'li']
print('li' in list1)
print('alex' not in list1)

身份操作符

比较两个对象的地址是否一致 is not is

# 有可能会出现缓冲池,需要注意
str_test = 'name'
astr_test = 'name'
print(str_test is astr_test)

猜你喜欢

转载自www.cnblogs.com/py-coder/p/10051426.html
今日推荐