Python逻辑运算符的优先级
在Python当中优先级为:
优先级:() > not > and > or
1 .or(逻辑或)
在Python中,逻辑与运算符是找True,如果第一个值为True,则不看第二个值,直接返回第一个值,否则返回第二个值。
>>>print(1 or 2) #当一个值为True时,则返回第一个值,也就是1
1
>>>print(0 and 2) #当一个值为Flase时,则返回第二个值,也就是2
2
2.and(逻辑与)
在Python中,逻辑或运算符是找Flase,如果第一个值为False则返回,则不看第二个值,直接返回第一个值,否则返回第二个值。
>>>print(1 and 2) #当一个值不为Flase时,则返回第二个值,也就是2
2
>>>print(0 and 2) #当第一个值为Flase时,则返回第一个值,也就是0
0
结果例子来分析:
print(1 > 2 and 3 or 4 and 3 < 2 or not 4 > 5)
按照从左向由,优先级高的先执行优先级高的规则,首先因为比较运算符优先级高于逻辑运算符,很简单,如果运算符低于了逻辑运算符优先级那还如何运算呢。and 优先级大于 or,not优先级大于and和or
not 4 > 5 # 4大于5为Flase not Flase就为真则返回True
1 > 2 #1大于2为假,则返回Flase
3<2 #3小于2为假,则返回Flase
#进行下一步分析:
Flase and 3 #当第一个值为Flase时则返回Flase
4 and Flase #当一个值不为Flase时则返回第二个值,也就是Flase
Flase or Flase #当第一个值不为True时,则返回第二个值,也就是Flase
Flase or True #当一个值不为True时,则返回第二个值,也就是True
最终结果就是:True
比较运算符
使用“==” ,“!=”,“<”,">"运算符
(1)单字符字符串比较
要比较两个单字符字符串是否相同,使用“ = =”运算符。如果两个字符相同,则表达式返回真。“!=”
运算符用于比较两个字符是否不同。而“<” ">"运算符比较两个字符串的内容则会转化为对应的ASCII值之间的比较
>>> 'a' =='a' #两个字符相同,返回真
True
>>>'a' == 'A' #两个字符不相同,返回假
False
>>>'a' != 'A' #ord(a)=97,ord(A)=65, 97!=65返回真
True
>>>'a'>'A' #ord(a)=97, ord(A)=65, 97>65返回真
True
>>>‘1’ < '2'
True
(2)多字符字符串的比较
当字符串中的字符多与1个时,比较的过程还是基于字符的ASCII值进行。基本思路是:从两个字符串中索引为0的位置开始,从左到右同步推进并行检查两个字符串中位于同一位置的字符。比较位于当前位置的两个单字符。如果两个字符不相等,则返回这两个字符的比较结果作为字符串比较的结果。如果两个字符相等,则继续同步推进,直到找到两个不同的字符或其他一个字符串结束。如果两个字符串到一个字符串结果时都相等,那么较长的字符串更大。特别的,空字符串(‘’)比其他字符串都小,其长度为0.示例如下:
>>>'abs'<'cde' #索引位置0的‘a’<'c'
True
>>>'abc'<'abd' #当索引位置1相同时,则比较索引位置2的‘c’<'d'
True
>>>'abc'>'abcd' #'abc'都相等,较长的字符串更大
False
>>>' '<'a' #空字符串比其他字符串都小
True
Python条件运算符(三元运算符)
条件运算符(三元运算符)
语法: 语句1 if 条件表达式 else 语句2
执行流程:
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果
练习:
现在有a b c三个变量,三个变量中分别保存有三个数值,
请通过条件运算符获取三个值中的最大值
print('你好') if False else print('Hello') #当判断结果为False时,则执行语句2
Hellow
a = 30
b = 50
# print('a的值比较大!') if a > b else print('b的值比较大!') #比较a与b的值,判断条件为False则执行语句2
b的值比较大!
# 获取a和b之间的较大值
max = a if a > b else b #先判断a,b的值,当为True时则执行语句1,当为Flase时则执行语句2
print(max)
50
Python算术运算符
运算符 | 描述 |
---|---|
+ | 加 - 两个对象相加 |
- | 减 - 得到负数或是一个数减去另一个数 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 |
/ | 除 - x除以y |
% | 取模 - 返回除法的余数 |
** | 幂 - 返回x的y次幂 |
// | 取整除 - 返回商的整数部分(向下取整) |
x = 10
y = 10
x + y = 20
x - y = 0
x * y =100
x / y =1.0 #注意‘/’运算产生的是浮点数类型,无论是两个整数相除,还是一个浮点数除以一个整数或者两
个浮点数相除,产生的结果都是浮点数类型,能整除出的结果也是浮点数类型
x % y = 0 #取模运算,返回除法的余数
x ** y =10000000000 #10的10次幂相乘
x // y = 1 #整除类型
Python运算符
运算符 | 描述 |
---|---|
== | 等于 - 比较对象是否相等 |
!= | 不等于 - 比较两个对象是否不相等 |
> | 大于 - 返回x是否大于y |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 |
>= | 大于等于 - 返回x是否大于等于y。 |
<= | 小于等于 - 返回x是否小于等于y。 |