当前位置: 首页 > article >正文

Python中3个与众不同的运算符 :=海象 ->箭头 //地板除法运算符

在python中,有一些和其他编程语言不太一样的运算符,今天就给大家介绍几种。

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 倍,它有助于显著促进代码的执行。

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

注意,在处理比较大的数据时,只有使用//才能获取到正确的结果,而单除法运算符无法提供准确的值。


http://www.kler.cn/a/537734.html

相关文章:

  • k8s的操作指令和yaml文件
  • CV(11)-图像分割
  • 【centOS】搭建公司内网git环境-GitLab 社区版(GitLab CE)
  • 树莓派5添加摄像头 在C++下调用opencv
  • 换电脑了如何快速导出vscode里的插件
  • Redis数据库篇 -- Pipeline
  • 力扣LeetCode: 63 不同路径Ⅱ
  • AtCoder Beginner Contest 392(A-G)题解
  • 用AVFrame + AVPacket 完成accede编码和直接用ffmpeg命令行实现acc编码的对比
  • 肖特基二极管正向浪涌电流,如何左右电路命运?
  • 编程中的科学计数法
  • 使用C++实现多个经典算法
  • mysql8安装时提示-缺少Microsoft Visual C++ 2019 x64 redistributable
  • 【场景题】架构优化 - 解耦Redis缓存与业务逻辑
  • LLM:DeepSeek 系列(三)
  • 【代码随想录|子序列系列300,674,718】
  • Qwen2-VL:增强视觉语言模型对世界任意分辨率的感知能力
  • 如何使用DeepSeek
  • mybatis 是否支持延迟加载?延迟加载的原理是什么?
  • systemverilog的program和module的区别
  • ReentrantLock/内存溢出监控
  • 南京观海微电子----开关电源电路图
  • Java_方法引用
  • leetcode——杨辉三角(简单移动的解法)
  • 后台管理系统网页开发
  • deepseek搭建本地知识库