python第四课——运算符
1. 运算符
1.1 运算符的概念
运算符用于执行程序代码运算,会针对一个以上操作哦数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。
1.2 运算符的分类
1.2.1 算术运算符
-
加法运算符 表现形式+
注:当两个字符串进行算术进行加法算术运算时,相当于拼串 -
减法运算符 表现形式-
注:若是其中一个数是浮点数,所得结果也必为浮点数
注:减法运算符不支持的操作数类型-:‘str’和’str’ -
乘法运算符 表现形式*
-
除法运算符 表现形式/
注:除法运算所得结果为浮点数 -
// 整除,只会保留计算后的整位数,总会返回一个整型
-
% 取模,求两个数相除的余数
-
**幂运算,求一个值得几次幂
1.2.2 赋值运算符
赋值运算符的特殊写法x=x+3其实是和x+=3是一样的
- += (x+=3想当于x=x+3)
- -= (x-=3相当于x=x-3)
- *= (x*=相当于x=x*3)
- /= (x/=3相当于x=x/3)
- //= (x//=3相当于x=x//3)
- %= (x%=3相当于x=x%3)
1.2.3 比较运算符
比较运算符用来比较两个值之间的关系,总会返回一个布尔值,如果关系成立,返回True,否则返回False
- > 比较左侧值是否大于右侧值
- >= 比较左侧的值是否大于或等于右侧的值
- < 比较左侧值是否小于右侧值
- <= 比较左侧的值是否小于或等于右侧的值
- 特殊的比较方式
- == 比较两个对象的值是否想等
- = 比较两个对象的值是否不想等
- is 比较两个对象是否是同一个对象,比较的是对象的id
- is not 比较两个对象是否不是同一个对象,比较的是对象的id
1.2.4 逻辑运算符
(1)not 逻辑非
not可以对符号右侧的值进行非运算,对于布尔值,非运算会对其进行取反操作,True变False,False变True。
0 空串’’ None 还有一些表示空性的值都会转换为False,其他所有值都可以转换为True(只在与或非场景下运用)
(2)and 逻辑与
and可以对符号两侧的值进行与运算。只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False。
与运算是找False的,如果第一个值为False,则不看第二个值。
(3)or 逻辑或
或运算两个值中只要有一个True,就会返回True。或运算是找True。
(4)非布尔值的与或运算
当我们对非布尔值进行与或运算时,python会将其当做布尔值运算,最终返回原值。
-
与运算的规则
- 与运算是找False的,如果第一个值是False,则不看第二个值,直接返回第一个值,反之,返回第二个值。
- 与运算是找False的,如果第一个值是False,则不看第二个值,直接返回第一个值,反之,返回第二个值。
-
或运算的规则
- 或运算是找True的,如果一个值是True,则不看第二个值,直接返回第一个值,反之,返回第二个值。
- 或运算是找True的,如果一个值是True,则不看第二个值,直接返回第一个值,反之,返回第二个值。
(5)条件运算符(三元运算符)
条件运算符在执行时,会先对条件表达式进行求值判断,如果判断结果为True,则执行表达式1,并返回执行结果;如果判断结果为False,则执行表达式2,并返回执行结果
- 语法:表达式1 if 条件表达式 else 表达式2
注:从后前依次划分
1.3 运算符的优先级
【注】从低到高
operator | description |
---|---|
lambda | Lambda expression |
if – else | Conditional expression |
or | Boolean OR |
and | Boolean AND |
not x | Boolean NOT |
in, not in, is, is not, <, <=, >, >=, !=, == | Comparisons, including membership tests and identity testst |
| | Bitwise OR |
^ | Bitwise XOR |
& | Bitwise AND |
<<, >> | Shifts |
+, - | Addition and subtraction |
*, @, /, //, % | Multiplication, matrix multiplication, division, floor division, remainder |
+x, -x, ~x | Positive, negative, bitwise NOT |
** | Exponentiation |
await x | Await expression |
x[index], x[index:index], x(arguments…), x.attribute | Subscription, slicing, call, attribute reference |
(expressions…),[expressions…], {key: value…}, {expressions…} | Binding or parenthesized expression, list display, dictionary display, set display |
2. 课堂作业
- 以四种格式化字符串的方式来实现521 xxx 嫁给我我好吗?
- 现在有a,b,c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值。
#第一题:以四种格式化字符串的方式来实现521 xxx 嫁给我好吗?
str='syl'
#第一种:%s
print("521,%s,嫁给我好吗?"%str)
#第二种:f{}
print('521,',f'{str}'',嫁给我好吗?')
#第三种:str.format
print('521,{},嫁给我好吗?'.format(str))
#第四种:拼串
print('521,'+str+',嫁给我好吗?')
#第二题: 现在有a b c三个变量,三个变量中分别保存有三个数值,通过条件运算符获取三个值中的最⼤值
a=input("请输入任意一个数字a:")
b=input("请输入任意一个数字b:")
c=input("请输入任意一个数字c:")
print(c if a<c else a if a>b else c)