广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用python怎么实现两个变量值进行交换
  • 425
分享到

使用python怎么实现两个变量值进行交换

2023-06-15 07:06:50 425人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本篇文章给大家分享的是有关使用python怎么实现两个变量值进行交换,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python 两个变量值交换方法一:c = 

本篇文章给大家分享的是有关使用python怎么实现两个变量值进行交换,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Python 两个变量值交换

方法一:

c = 0c= aa= bb= c

方法二:

a,b = b,a

这是python的基本方法

方法三:(只用两个变量实现)

a = a+bb = a-ba = a-b

python两个数值互换(浅析a,b=b,a原理)

python交换两个值得方法非常简单,即a,b=b,a,一步操作就交换了两个值,那么这是为什么呢?

真相:

Python的变量并不直接存储值,而只是引用一个内存地址,交换变量时,只是交换了引用的地址。

先看下面这段程序:

import disdef func(a,b):    a,b=b,a    print(a,b)    a=10b=20func(a,b)dis.dis(func)

一般来说一个Python语句会对应若干字节码指令,Python的字节码是一种类似汇编指令的中间语言,但是一个字节码指令并不是对应一个机器指 令(二进制指令),而是对应一段C代码,而不同的指令的性能不同,所以不能单独通过指令数量来判断代码的性能,而是要通过查看调用比较频繁的指令的代码来 确认一段程序的性能。

一个Python的程序会有若干代码块组成,例如一个Python文件会是一个代码块,一个类,一个函数都是一个代码块,一个代码块会对应一个运行的上下文环境以及一系列的字节码指令。

dis的作用   

dis模块主要是用来分析字节码的一个内置模块,经常会用到的方法是dis.dis([bytesource]),参数为一个代码块,可以得到这个代码块对应的字节码指令序列。

代码输出结果

使用python怎么实现两个变量值进行交换

其中只看前面为12的结果就行了(在我的编译器里,交换的那一行代码在第12行)

可以看出主要是ROT_TWO指令的功劳:

查阅python文档可以知道有ROT_TWO (源码1398行),ROT_THREE(源码1406行), ROT_FOUR这样的指令,可以直接

交换两个变量、三个变量、四个变量的值

python3.4的源码中查阅ceval.c文件可以看到:

TARGET(ROT_TWO) {               PyObject *top = TOP();              PyObject *second = SECOND();           SET_TOP(second);              SET_SECOND(top);             FAST_DISPATCH();       }        TARGET(ROT_THREE) {            PyObject *top = TOP();            PyObject *third = THIRD();            SET_SECOND(third);            FAST_DISPATCH();        }

附:python值的交换

变量的每一次初始化,都开辟了一个新的空间,将新内容的地址赋值给变量。对于下图来说,我们重复的给str1赋值,其实在内存中的变化如图:

使用python怎么实现两个变量值进行交换

从上图我们可以看出,str1在重复的初始化过程中,是因为str1中存储的元素地址由'hello world'的地址变成了'new hello world'的。

对于复杂的数据类型来说,改变其内部的值对于变量的影响:

使用python怎么实现两个变量值进行交换

使用python怎么实现两个变量值进行交换

以上就是使用python怎么实现两个变量值进行交换,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网Python频道。

--结束END--

本文标题: 使用python怎么实现两个变量值进行交换

本文链接: https://www.lsjlt.com/news/278852.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用python怎么实现两个变量值进行交换
    本篇文章给大家分享的是有关使用python怎么实现两个变量值进行交换,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python 两个变量值交换方法一:c = ...
    99+
    2023-06-15
  • python怎么交换两个变量的值
    这篇文章主要介绍了python怎么交换两个变量的值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python怎么交换两个变量的值文章都会有所收获,下面我们一起来看看吧。本文教程操作环境:windows7系统、P...
    99+
    2023-06-30
  • python 实现两个变量值进行交换的n种操作
    python 两个变量值交换 方法一: c = 0 c= a a= b b= c 方法二: a,b = b,a 这是python的基本方法 方法三:(只用两个变量实现) a = a+b b = a-...
    99+
    2022-06-02
    python 两个变量值 值交换
  • php怎么交换两个变量的值
    在PHP中,可以通过使用一个临时变量来交换两个变量的值,例如:```php$a = 1;$b = 2;$temp = $a;$a =...
    99+
    2023-10-12
    php
  • Python实现在一行中交换两个变量
    我们已经讨论了在没有临时变量的情况下交换两个整数的不同方法。如何在不使用库函数的情况下换成一行? 1) Python: 在Python中,有一个简单且语法简洁的结构来交换变量,我们只...
    99+
    2022-11-11
  • php怎么不用第三个变量交换两个变量的值
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑php不用第三个变量交换两个变量的值方法1:使用异或运算<php header("Content-type:text/html;charset=utf-...
    99+
    2019-02-25
    php 交换变量值
  • C语言怎么交换两个变量的值
    在C语言中,可以使用一个临时变量来交换两个变量的值。具体步骤如下:1. 声明一个临时变量temp。2. 将第一个变量的值赋给temp...
    99+
    2023-08-18
    C语言
  • php怎么实现两个变量值的互换
    在PHP中,可以使用一个额外的变量来存储其中一个变量的值,然后再将其赋值给另一个变量,从而实现两个变量值的互换。以下是一个示例代码:...
    99+
    2023-08-19
    php
  • C语言不使用临时变量怎么交换两个整数的值
    本文小编为大家详细介绍“C语言不使用临时变量怎么交换两个整数的值”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言不使用临时变量怎么交换两个整数的值”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。不使用临时变量...
    99+
    2023-06-17
  • Java不使用第三方变量交换两个变量值的方法有哪些
    本篇内容介绍了“Java不使用第三方变量交换两个变量值的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题:请说出几种不使用第三方...
    99+
    2023-06-22
  • 如何使用php代码实现两个变量值的互换
    可以使用一个临时变量来实现两个变量值的互换。具体步骤如下:1. 定义两个变量并赋予初始值。2. 创建一个临时变量,并将其中一个变量的...
    99+
    2023-09-04
    php
  • Java不使用第三方变量交换两个变量值的四种方法详解
    目录变量本身交换数值算术运算指针地址操作位运算简单总结哈喽,大家好,我是阿Q。前几天有个小伙伴去面试,被面试官的一个问题劝退了:请说出几种不使用第三方变量交换两个变量值的方法。 问题...
    99+
    2022-11-12
  • php不使用中间变量怎么互换两变量的值
    互换方法:1、利用PHP提供的字符串分割函数explode()来实现,语法“$b=explode("|",$a."|".$b);$a=$b[1];$b=$b[0];”;2、利用赋值运算和加减运算来实现...
    99+
    2023-05-14
    php
  • python怎么实现就地交换变量
    这篇文章主要介绍python怎么实现就地交换变量,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!就地交换变量在许多其他编程语言中,只能通过定义附加的temp(临时)变量来交换两个或多个变量的值。假设你想交换x和y:te...
    99+
    2023-06-27
  • 如何使用es6实现两个变量的转换
    本篇内容主要讲解“如何使用es6实现两个变量的转换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用es6实现两个变量的转换”吧!4种实现:1、采用二进制异或的方法来交换数值,语法“a = ...
    99+
    2023-07-04
  • Java不借助第三变量怎么实现两数交换
    本文小编为大家详细介绍“Java不借助第三变量怎么实现两数交换”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java不借助第三变量怎么实现两数交换”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。基操两数交换最简单...
    99+
    2023-06-29
  • 使用python怎么对输入的两个数进行求和
    使用python怎么对输入的两个数进行求和?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。用户输入两个数字,并计算两个数字之和# -*- co...
    99+
    2023-06-14
  • python怎么实现跨文件使用全局变量
    这篇文章主要介绍“python怎么实现跨文件使用全局变量”,在日常操作中,相信很多人在python怎么实现跨文件使用全局变量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python怎么实现跨文件使用全局变量...
    99+
    2023-07-05
  • 怎么在python中使用format实现一个进制转换功能
    怎么在python中使用format实现一个进制转换功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。10进行十进制,十六进制,八进制,二进制的转换:(#:保留进制前缀)对...
    99+
    2023-06-08
  • 怎么使用Python一行代码实现AI换脸
    本文小编为大家详细介绍“怎么使用Python一行代码实现AI换脸”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Python一行代码实现AI换脸”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。AI换脸,1行...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作