Python的小知识

正常其他语言交换变量要:

cpp 复制代码
temp = a;
a = b;
b = temp;

Python 直接:

python 复制代码
a, b = b, a

这个写法常用于写菲波那切数列:

python 复制代码
# 打印所有小于100的斐波那契数
a, b = 0, 1
while a < 100:
    print(a)
    a, b = b, a+b

a, b = b, a+b 利用 Python 元组解包,先计算右侧所有值,再一次性赋值,不需要临时变量。

步骤 执行 a, b = b, a+b 之前 计算说明 执行后新的 a 和 b
第 1 次 a=0, b=1 右边先算:b=1,a+b=0+1=1,再分别赋值 a=1, b=1
第 2 次 a=1, b=1 右边先算:b=1,a+b=1+1=2,再分别赋值 a=1, b=2
第 3 次 a=1, b=2 右边先算:b=2,a+b=1+2=3,再分别赋值 a=2, b=3
第 4 次 a=2, b=3 右边先算:b=3,a+b=2+3=5,再分别赋值 a=3, b=5
相关推荐
秋秋小事1 分钟前
python 数据契约层FastAPI+Pydantic(一)
python
AIFQuant2 分钟前
Python港股实时行情API接入:恒生股票数据获取与AH股溢价监控实战
开发语言·数据库·python·金融·实时数据api
朝阳资本论8 分钟前
小马智行杀入伦敦牵手Uber,中国Robotaxi出海怎么打?
python
外收内放12 分钟前
Python基础语法练习题(70)
开发语言·python
老唐77712 分钟前
Agent 开发入门教程:从零搭建一个 Python AI Agent
人工智能·python·深度学习·langchain·大模型·agent·智能体
宿州派大星3 小时前
Python实战:PyQt5 + OpenCV + Dlib 打造AI桌面应用
人工智能·python·qt
承渊政道4 小时前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(开源大模型ChatGLM高级定制化应用实战)
人工智能·pytorch·python·llm·模型微调·glm
Smoothcloud润云10 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力
databook11 小时前
从循环到向量化:NumPy提速的7个关键思维
python·数据分析·numpy
棉猴11 小时前
玩游戏学Python1-Python和pgzero库的安装
python·pygame·玩游戏·pgzero·pgzrun