python input函数赋值法_大佬们 我是刚开始学python的小白 遇到这种赋值方式 实在不懂这个a+b是赋值给谁的 求解...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个是python独有的赋值方法 萌新不懂很正常啦
这个叫做“元组赋值法” 他会把前后两个部分当成一个元组去操作 所以在赋值过程中值不会改变 只有结束赋值后才会改变
什么意思呢 也就是说逗号前面和逗号后面赋值是【同时发生】的
举个例子
a=1
b=0
a, b = a+1, a+1
最后的结果是a和b都是2
然而如果你先a = a+1 再a = b+1 那么结果是a为2 b为3 因为这一串操作时先a后b的 而元组赋值法可以视为是【同时发生】的赋值行为
这种赋值方法可以免除我们很多的麻烦 最简单的例子就是:交换变量
以前听过一个笑话 说3个程序员 两个是学c系列语言的 还有一个是学python的 他们讨论怎么交换变量的值
普通c语言程序员写到(c的语法和python不一样 但是类似 第一行等价于def swap(a, b):):
void swap(int &a, int&b){
temp = a;
a = b;
b = temp;}
二逼c语言程序员写到:
void swap(int &a, int&b){
a = a^b;
b = a^b;
a = a^b;}
python程序员写到:
def swap(a, b):
a, b = b, a
可以看出 有了元组赋值法 其他语言至少需要3行的交换行为现在只需要1行就ok了
另外有人可能不大明白 明明没有括号 为什么他们还是元组呢?
我这里再重申一遍 元组的关键字(就是看到他就知道他是元组 比如列表的关键字是[] 字典是{})不是小括号 而是逗号
你可以尝试一下如下的代码
a = 1, 2
type(a)
返回的结果是 意思是:元组
【进阶】
那么为什么元组赋值法在过程中变量不改变呢?
首先我们补全一下这行代码(以你的代码为例):
(a, b) = (b, a+b)
好的 现在前后都是一个元组了
但是我们还是不明白 那我们把他拆开来
首先前面是一个元组:
tuple1 = (a, b)
后面也是一个:
tuple2 = (b, a+b)
假设a和b分别为1、2
那么现在
tuple1 → (1,2)
tuple2 → (2, 3)
然后我们进行赋值操作
tuple1 = tuple2
这就是结果了吗 不是的 因为tuple1是我们虚构出来的“临时变量” 并不是程序员可以直接使用的变量
于是我们还原回去
a = tuple1[0]
b = tuple1[1]
完美 这就是为什么我们称它【赋值是同时发生的】了
学完这些 机制的你会发现我们最后的赋值其实可以这么写
a, b = tuple1
这就是python简洁的妙处
“人生苦短
我用python”
——Bruce Eckel
python input函数赋值法_大佬们 我是刚开始学python的小白 遇到这种赋值方式 实在不懂这个a+b是赋值给谁的 求解...相关推荐
- python赋值法例子_大佬们 我是刚开始学python的小白 遇到这种赋值方式 实在不懂这个a+b是赋值给谁的 求解...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这个是python独有的赋值方法 萌新不懂很正常啦 这个叫做"元组赋值法" 他会把前后两个部分当成一个元组去操作 所以在赋值过程中值不 ...
- python input函数详解_对Python3中的input函数详解
下面介绍python3中的input函数及其在python2及pyhton3中的不同. python3中的ininput函数,首先利用help(input)函数查看函数信息: 以上信息说明input函 ...
- python有什么用处案例_为什么大家都推荐你学python?看完这5个例子就明白了!...
为什么大家都推荐你学Python?而不是C语言或者是JAVA呢? 因为-- python很灵活,一定程度上函数也可以传参和注入,所以代码的灵活性要大的多. python自带了函数的curry化以及迟滞 ...
- python开课吧官网_开课吧老师详解 学Python真的可以帮助提高办公效率吗
在工作中你是否有过这样的经历?周围的同事看上去貌似没有做什么事情,每天准时下班;你呢兢兢业业做着本职工作,努力完成领导布置的每一项任务,常常加班到很晚才走.可是最后你身边的那个同事反而深得领导喜爱升职 ...
- python数独伪代码回溯法_数独的暴力回溯解法和Python GUI
数独起源于18世纪初瑞士数学家欧拉等人研究的拉丁方阵,20世纪70年代,经过美国及日本学者的推广和改良,定名为数独(Sudoku),大致的意思是"独个的数字"或"只出现一 ...
- python遍历数组冒泡排序法_十种排序七种搜索算法的Python实现——气泡排序,十大,七大,查找,python,冒泡排序,bubblesort...
一.十大排序算法 数据准备 使用random库随机生成无序数组 import random def random_list(start, end, number): temp = [] i = 0 w ...
- Python input 函数 - Python零基础入门教程
目录 一.前言 二.Python input 函数简介 三.Python input 函数实战 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Pyth ...
- Python input 函数 -Python零基础入门教程
目录 一.前言 二.Python input 函数简介 三.Python input 函数实战 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Pyth ...
- [转载] Python input()函数
参考链接: Python input() 描述: Python input()函数用于接受一个标准输入数据 语法: input([prompt]) 参数介绍: prompt ---提示信息.需要注意的 ...
最新文章
- R使用深度学习LSTM构建时间序列预测模型
- 在Python中使用正则表达式去掉字符串里的html标签
- phpcms下的邮箱设置
- 如何做好一个开源项目(一)
- wampserver 虚拟主机
- JavaScript学习笔记(十)构造函数封装、对象检测、对象继承
- NumSharp v0.6.5 .NET矩阵计算库,与TensorFlow.NET无缝融合
- github (远端建立分支....配置见github 官网配置)
- python自学网站-自学Python网站推荐 从入门到精通
- 汪学明导师—商业模式创新与转型专家
- 【证明】—— 矩阵秩的相关证明
- 基于Matlab使用雷达和摄像头对公路车辆跟踪仿真(附源码)
- [渝粤教育] 南开大学 面向对象程序设计 参考 资料
- 全国海关分区图(含副厅)
- GGS-DDU(最小树形图)
- 电商“论贱”血拼 传统书店该何去何从
- 拉勾网离职风波引人深思 互联网招聘网站还有未来吗?
- 抖音做外卖会颠覆美团吗?
- Ubuntu下安装显卡和cuda
- 卷积神经网络之前向传播算法