python运算符

python运算符

什么是运算符?

比如1+2=3,其中1和2被称为操作数,‘+’被陈为运算符。
python支持以下类型的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 身份运算符
  • 逻辑运算符
  • 条件运算符
  • 运算符优先级
  • 成员运算符
  • 算术运算符
a=2
b=3
a+b=5
a-b=-1
----------
a*b=6
s='-'*5
print(s)


#out:-----
----------
a/b=0.666666666
#注做除法时总会返回一个浮点类型(float)
print(6/2)
#out:3.0
----------	
b%a=1--------取模-返回除法的余数
a**b=9--------返回a的b次幂
3//2=1--------取证除-向下去接近除数的整数

比较运算符

a=1
b=2
a == b------#False,等于。注意a=1是赋值,不是等于
a != b-----#True
a > b------#F
a < b-------#T
a = 2----#改变赋值
a >= b----#T
b = 1--------#改变赋值
a <= b-------#F

赋值运算符

假设a=1,b=2

a = 1-----#print(a)-1
a += b-----#等于a=a+b---3
a -= b-----#等于a=a-b
a *= b------#a=a*b----2
a /= b------#a=a/b----0.5
b %= a------#b=b%a----2
a **= b------#a=a**b----1
print(25**0.5)
#out:5.0
a=3
a // =b------#a=a//b----1

结合着算术运算符看

身份运算符

is 是判断两个标识符是不是引用自一个对象
is not 是判断两个标识符是不是引用自不同对象
print(bool(0))
print(0 is False)
print(0 is not False)
#out:
#False
#False
#True  

虽然0的布尔值是False,但不等于False,因为在计算机中占用的内存区域不同,是用不同的id来辨别0和False的,同理1和True也是如此。

逻辑运算符

所有与空有关的属性值,如0,None,‘ ’,都是False
所有非空的值为True

not(非)

a=True
a=not a
print(a)
#out:False

总结:
如果x为a=True,则返回False,如果x值为False,则返回True。

and(与)

True and False------#False
False and True------#False
True and True------#True
False and False------#False
总结:
1.一False全False
2.若第一个值为True,则看第二个值,第二个值为False,则False,第二个值为True则为True

or(或)

True and False------#True
False and True------#True
True and True------#True
False and False------#False
总结:
1.一True全True
2.若第一个值为True,则True,若第一个值为False,则看第二个,第二个为True,则True,若第二值为False,则False。
练习:

a=0
a=not a
print(a)
#out:True
----------
a=6
a=not a
print(a)
#out:False
---------
a=1 and 0
print(a)
#out:0
---------
a=True and print('hello')-----#同为真时输出第二个
#out:hello
--------
a=False and 6
print(a)
#out:False
---------
a=False and 0
print(a)
#out:False-----------同为假时,遇到第一个假则输出
---------
a=False or 9
print(a)
#out:9
---------
a=0 or None
print(a)-------------#同为假时输出第二个
#out:None
-----------
a=print('hello') or 1--------#遇到第一个True就输出
#out:hello

条件运算符(三元运算符)

语法: 语句1 if 条件表达式 else 语句2

print('python') if False else print('java')
#out:java
print('python') if True else print('java')
#out:python

执行流程:
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True 则会执行语句1,并返回执行结果
如果判断结果为False 则会执行语句2 ,并返回执行结果
练习
现在有 a b c三个变量 三个变量分别保存3个值
通过条件运算符获取三个值中的最大值

a=12
b=22
c=16
#-------------------------method_one
m_1=a if a>b else b
m=m_1 if m_1>c else c
print(m)
#out:22
#-------------------------method_two
m=a if a>b else (b if b>c else c)
print(m)
#out:22
#-------------------------method_three
m=a if (a>b and a>c) else (b if b>c else b)
print(m)
#out:22

比较推荐method_one和method_three

运算符优先级

a = not 4 > 2 and 5 < 6 or 3 < 4
print(a)
#out:True

我们用反证法来推导一下:
假如or和and的优先级一样高从左往右计算 运算结果是4
假如or的优先级比and的高 一样是从左往右计算 运算结果还是4
假如and的优先级比or的高 运算结果是2
所以运算的优先级是:
not>and>or
如果不知道可自行百度

成员运算符
in 如果在指定的序列中找到值返回True,否则False

a='python'
print('y' in a)
#out:True

not in 如果在制定的序列中没有找到返回值True,否则False

a='java'
print('y' not in a)
#out:True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值