在python中,有一些和其他编程语言不太一样的运算符,今天就给大家介绍几种Python中的3个与众不同的运算符 :=海象 ->箭头 // 地板除法运算符。
1. 海象运算符 :=
这个运算符用来分配值并同时返回变量,英文 walrus
(a := 5)
print(a) # 5
它还允许我们在许多情况下避免重复语句。我们可以在表达式的上下文中将值分配给可能尚不存在的变量。
a =[1,2,3]
if (n :=len(a)) > 5:
pass
print(n) # 3
2. 箭头运算符 ->
这个是在声明函数的时候用来声明函数的返回值类型的
# python 3.x
def add(a,b) -> int:
return a + b
3. 地板除法/向下取整运算符 //
这个符号//在大部分的编程语言里面是用来做注释的,而在python里面,这个可是用来进行稳定的整数除法运算,而且// 运算符的性能比 / 运算符高 3 倍,它有助于显著促进代码的执行。
// floor division -- 向下取整除法运算符,这是一个向下舍入到最接近的整数的数学除法。例如,表达式 11 // 4
的计算结果是 2
,而与之相反的是浮点数的真正除法返回 2.75
。
python中使用//来进行除法操作时,他只会返回结果的整数部分,这个有点类似于js里面的Math.floor向下取整.
#下面的代码描述了//运算符和/两个运算符在处理大数时的区别。
x = 50000000000
a1 = int(x * (x + 3) / 2)
a2 = x * (x + 3) // 2
print("Using single division operator: ", a1)
print("Using floor division operator: ", a2)
#输出:
Using single division operator: 1250000000074999922688
Using floor division operator: 1250000000075000000000
注意:
1. 在处理比较大的数据时,只有使用//才能获取到正确的结果,而单除法运算符无法提供准确的值。
2. 如果是一个负数,则向下取整的结果会是更小的数, 如: (-11) // 4
会返回 -3
因为这是 -2.75
向下 舍入得到的结果。