1.运算符
计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算、成员运算
2.算数运算
以下假设变量:a=10,b=20
3.比较运算
以下假设变量:a=10,b=20
字符串进行比较的话,使用的是字符对应的ascii码值。
4.赋值运算
以下假设变量:a=10,b=20
5.逻辑运算
针对逻辑运算的进一步研究:
在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。
x or y , x为真,值就是x,x为假,值是y;
x and y, x为真,值是y,x为假,值是x;
例如:
1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
逻辑运算符的结果到底是什么类型???
结果取决于两个操作数的类型!!!
针对and操作:第一个操作数如果是可以转成False的话,那么第一个操作数的值,就是整个逻辑表达式的值。
如果第一个操作数可以转成True,第二个操作数的值就是整个表达式的值。
针对or操作:第一个操作数如果是可以转成False的话,第二个操作数的值就是整个表达式的值。
如果第一个操作数可以转成True, 第一个操作数的值,就是整个逻辑表达式的值。
逻辑运算符规则和短路操作
总结:
and:两个操作数都为True时,结果才是True,任何一个操作数为False,结果肯定是False.
or :两个操作数都为False时,结果才是False,任何一个操作数为True,结果肯定是True.
6.成员运算:
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
判断子元素是否在原字符串(字典,列表,集合)中:
例如:
#print('喜欢' in 'dkfljadklf喜欢hfjdkas')
#print('a' in 'bcvd')
#print('y' not in 'ofkjdslaf')
7.Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 ‘AND’ |
^ | |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
8.身份运算符
身份运算符用于比较两个对象的存储单元
# 判断两个标识符是不是引用同一个对象或不同对象,返回布尔值
a = "烟雨"
b =a
print(b is a) # 类似id(b) = id(a)
print(a is b) # 类似id(a) = id(b)