感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接
个人主页
C语言
️️️C语言例题
python
运算符
算数运算符
算数运算符有如下
+(加号)
例如 :
print(1+2)#结果为3
-(减号)
例如 :
print(1-2)#结果为-1
(* ) (乘号)
例如 :
print(1*2)#结果为2
/ (除号)
例如 :
print(1/2)#结果为0.5,这里和C语言不同,这里可以是小数
%(取余)
例如 :
print(1%2)#结果为1
** (次方)
例如 :
print(2**2)print(4**0.5)##结果为4和2,这里可以的次方可以用小数表示
// (取整除号)
例如 :
print(7//2)print(-7//2)#结果为3和-4,这里有点类似C语言int的除法,但是这里是舍弃小数,往小的方向取整,不是四舍五入
关系运算符
<= (小于等于)
=(大于等于)
==(等于)
!=(不等于)
针对整数类的关系运算
)如果关系符合, 则表达式返回 True. 如果关系不符合, 则表达式返回 False
a = 10b = 20print(a < b)# Trueprint(a <= b)# Trueprint(a > b)#Falseprint(a >= b)#Falseprint(a == b)#Falseprint(a != b)# True
针对字符串的关系运算
a = 'hello'b = 'world'print(a < b)# Trueprint(a <= b)# Trueprint(a > b)#Falseprint(a >= b)#Falseprint(a == b)#Falseprint(a != b)# True
注意:
直接使用 == 或者 != 即可对字符串内容判定相等. (这一点和 C / Java 不同).
字符串比较大小, 规则是 “字典序”
字典序其实简单的来说就是abcd的字母排列顺序,越靠前越小
浮点数不能使用==判断相等
print(0.1 + 0.2 == 0.3)
注意: 浮点数在计算机中的表示并不是精确的! 在计算过程中, 就容易出现非常小的误差
print(0.1)结果0.1print(0.2)结果0.2print(0.3)结果0.3print(0.1 + 0.2)结果0.30000000000000004
至于为什么会出现0.30000000000000004我也不清楚
正确的比较方式: 不再严格比较相等了, 而是判定差值小于允许的误差范围
a = 0.1 + 0.2b = 0.3print(-0.000001 < (a - b) < 0.000001)
逻辑运算符
像 and or not 这一系列的运算符称为 逻辑运算符
and 并且(C语言中的&&). 两侧操作数均为 True, 最终结果为 True. 否则为 False. (一假则假)
or 或者(C语言中的||). 两侧操作数均为 False, 最终结果为 False. 否则为 True. (一真则真)
not 逻辑取反. 操作数本身为 True, 则返回 False. 本身为 False, 则返回 True.
a = 10b = 20c = 30print(a < b and b < c) #Trueprint(a < b and b > c) #Falseprint(a > b or b > c) #Falseprint(a < b or b > c) #Trueprint(not a < b) #Falseprint(not a > b) #True
a < b and b < c 这个操作等价于 a < b < c .
C语言中则是a<b&&b<c
赋值运算符
(1) = 的使用
= 表示赋值. 这个我们已经用过很多次了. 注意和 == 区分
= 除了基本的用法之外, 还可以同时针对多个变量进行赋值
链式赋值:
a = b = 10
交换变量a = 10b = 20tmp = aa = bb = tmp
多元赋值:
a, b = 10, 20
交换变量a = 10b = 20a, b = b, a
复合赋值运算符
python的复合运算符和C语言的运算方式一样
比如:
a+=1 ==> a=a+1
a-=1 ==> a=a-1
a*=1 ==> a=a*1
a/=1 ==> a=a/1
a%=1 ==> a=a%1
但是需要注意的是python不能像C语言那样使用自增和自减(++ –),因此我们需要-1或+1的话就可以使用复合赋值运算
其他
除了上述之外, Python 中还有一些运算符, 比如 身份运算符 (is, is not), 成员运算符 (in, not in), 位运算符( & | ~ ^ <>) 等