【Python】传值与传址

简介: 【Python】传值与传址

问题

传值还是传址是Python程序设计中最容易混淆和出错的一类编程方式。

方法

传值

'''
(1) 数字
'''
a = 1
def foo1(a):
    a = 10
foo1(a)
print(f'a = {a}') # 1
'''
(2) 字符串
'''
b = 'hello'
def foo2(b):
    b = 'world'
foo2(b) 
print(f'b = {b}') # hello
'''
(3) 元组
'''
c = (1,2,3)
def foo3(c):
    c = (4,5,6)
foo3(c)
print(f'c = {c}') # (1, 2, 3)

传址

'''
(1) 列表
'''
a = [1,2,3]
def foo1(a):
    a[0] = 5
    a[1] = 5
    a[2] = 5
foo1(a)
print(f'a = {a}') # a = [5, 5, 5]
'''
(2) 字典
'''
b = {'name':'chen'}
def foo2(b):
    b['name'] = 'zhen'
foo2(b)
print(f'b = {b}') # b = {'name': 'zhen'}
'''
(3) 对象
'''
class User:
    def __init(self):
        self.username = 'chen'
def foo4(user):
    user.username = 'zhen'
u = User()
foo4(u)
print(f'user = {u.username}') # user = zhen

结语

  • 数字、字符串、元组是传值;
  • 列表、字典是传址。
目录
相关文章
|
8月前
|
Python
Python传参数:传值还是传址?
【2月更文挑战第18天】
198 6
|
C++ Python
Python函数参数传递:传值还是传引用
Python函数参数传递:传值还是传引用
65 0
|
存储 C++ Python
Python 函数中,参数是传值,还是传引用?
Python 函数中,参数是传值,还是传引用?
104 0
|
程序员 Python
Python 传值 or 传引用
python 不允许程序员选择采用传值还是传引用。
66 0
|
Python Java
Python 传值还是传引用
在实现二叉树的代码时,使用递归调用,当给空叶子节点赋值的时候,发现只修改了局部变量。 因此研究了一下Python中传值和传引用的问题。 实验 实验一 a = None print(id(a)) b = None print(id(b)) 432...
1144 0
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!