`

Python中的值传递问题

阅读更多

python的官方网站上有一句话,“python把程序中用到的任何东西都成为对象 ”

例如:你定义了一个a=1 那么就是把1这个number对象赋值给了a对象,而此时的a对象是1对象的引用也是number对象了。

这里我们可以看出来,python只是把对象的引用传递给了对象a,而不是赋值操作,

例如:

mylist=[1,2,3]

youlist=mylist

youlist[0]=5

  1. mylist = [1,2,3]
  2. anotherlist = mylist
  3. print mylist,anotherlist

  1. mylist = [1,2,3]
  2. anotherlist = mylist
  3. print mylist,anotherlist
那么mylist等于多少?

结果是mylist=[5,2,3]

 

因为这个例子中mylist是指向对象[1,2,3]的对象的引用,所以更改他也相当于更改youlist,并不是真正的赋值,只是引用。切忌。

分享到:
评论

相关推荐

    深入理解python中函数传递参数是值传递还是引用传递

    如果函数收到的是一个可变对象(比如字典 或者列表)的引用,就能修改对象的原始值——相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能 直接修改原始对象...

    Python中 传递值 和 传递引用 的区别解析

    主要介绍了Python中 传递值 与 传递引用 的区别解析,非常不错,具有参考借鉴价值,需要的朋友参考下吧

    python——值传递与引用传递

    #值传递和引用传递 python中数据类型有:整形,字条串,元组,列表,字典,集合 不可变数据类型:当该数据类型对应变量的值变化,值对应的内存地址 也发生变化,这个值就为不可变数据类型 可变数据类型:当该数据...

    Python 中的参数传递、返回值、浅拷贝、深拷贝

    Python的参数传递,无法控制引用传递还是值传递。对于不可变对象(数字、字符、元组等)的参数,更类似值传递;对于可变对象(列表、字典等),更类似引用传递。 def fun1(n): print(n) # n在没修改前,指向的地址...

    python最大值最小值maxinteger-(Python基础教程之十)Pythonma .pdf

    Python max() function max() 该功能⽤于– 计算在其参数中传递的最⼤值。 如果字符串作为参数传递,则在字典上的最⼤值。 1.1. Find largest integer in array >>> nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2...

    Python函数中参数是传递值还是引用详解

    主要介绍了深入了解Python函数中参数是传值还是传引用,在 C/C++ 中,传值和传引用是函数参数传递的两种方式,在Python中参数是如何传递的,需要的朋友可以参考下

    python 引用传递和值传递详解(实参,形参)

    python中函数参数是引用传递(不是值传递)。对于不可变类型,因变量不能被修改,所以运算时不会影响到变量本身;而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量. 形参: 函数需要传递的参数 实参...

    python中return的理解.docx

    python中return的理解 Python中的return语句是一个非常重要的概念,它用于从函数中返回一个值。在Python中,函数是一种可重用的代码块,它可以接受输入参数并返回输出结果。当函数执行完毕后,它可以使用return语句...

    python-引用传参.docx

    python 引用传参 在Python中,函数参数传递有两种方式:值传递和引用传递。值传递是指将实参的值复制一份传递给形参,而引用传递是指将实参的引用传递给形参,形参和实参指向同一个对象。 在Python中,大部分情况下...

    2019千峰Python超详细入门教程(百度云盘分享).docx

    字符串&布尔值&空值&变量的类型问题1.mp4 │ 千锋Python教程:23.字符串&布尔值&空值&变量的类型问题2.mp4 │ ├─千锋Python教程:第04章 列表&元组&流程控制语句(8集) │ │ .DS_Store │ │ │ ├─code │ ...

    Python调用C函数实例

    Python C/C++混编 Python 调用C函数 传递参数为:值传递,指针传递,数组

    Python语言程序设计PPT课件.zip

    学习本章,要理解函数的概念,掌握定义函数的方法,深刻理解函数调用中参数的传递(值传递、地址传递),理解变量的作用域(变量的作用范围或变量的生命周期),理解函数集合模块、包等概念,掌握模块和包的创建及...

    python Qt5GUI界面主窗口和子窗口相互传值,保证能用

    python Qt5GUI界面主窗口和子窗口相互传值,保证能用。。。。。。。。。。。。。!

    Python语言程序设计习题答案.zip

    学习本章,要理解函数的概念,掌握定义函数的方法,深刻理解函数调用中参数的传递(值传递、地址传递),理解变量的作用域(变量的作用范围或变量的生命周期),理解函数集合模块、包等概念,掌握模块和包的创建及...

    python进行参数传递的方法

    在分析python的参数传递是如何进行的之前,我们需要先来了解一下,python变量...最后执行的a=a+1,这里需要注意一点,python的数据类型中如int、str等不可变类型,执a=a+1这种操作,并不是把a指向的对象的值增加1,而是

Global site tag (gtag.js) - Google Analytics