【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

结语

  • 数字、字符串、元组是传值;
  • 列表、字典是传址。
目录
相关文章
|
6月前
|
Python
Python传参数:传值还是传址?
【2月更文挑战第18天】
157 6
|
C++ Python
Python函数参数传递:传值还是传引用
Python函数参数传递:传值还是传引用
62 0
|
存储 C++ Python
Python 函数中,参数是传值,还是传引用?
Python 函数中,参数是传值,还是传引用?
95 0
|
程序员 Python
Python 传值 or 传引用
python 不允许程序员选择采用传值还是传引用。
59 0
|
Python Java
Python 传值还是传引用
在实现二叉树的代码时,使用递归调用,当给空叶子节点赋值的时候,发现只修改了局部变量。 因此研究了一下Python中传值和传引用的问题。 实验 实验一 a = None print(id(a)) b = None print(id(b)) 432...
1139 0
|
6天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
下一篇
无影云桌面