阅读量:0
在Python中,对象作为参数传递的方法是通过函数调用来完成的。当将一个对象作为参数传递给一个函数时,实际上是将该对象的引用传递给了函数。
这意味着函数内部可以访问并操作传递进来的对象,对对象的修改也会影响到函数外部的原始对象。这是因为在函数调用时,传递的是对象的引用,而不是对象本身的副本。
下面是一个简单的示例,展示了如何将对象作为参数传递给函数:
class Person: def __init__(self, name): self.name = name def change_name(person): person.name = "Alice" person = Person("Bob") print(person.name) # 输出:Bob change_name(person) print(person.name) # 输出:Alice
在上述示例中,首先定义了一个名为Person
的类,其中包含一个属性name
。然后定义了一个名为change_name
的函数,该函数接受一个person
参数并将其名称更改为"Alice"。最后,创建了一个Person
对象person
,并将其传递给change_name
函数。在函数内部,通过修改person
对象的name
属性来改变了对象的状态,从而影响了函数外部的原始对象。
需要注意的是,当将可变对象(例如列表、字典)作为参数传递给函数时,函数内部对该对象的修改会影响到函数外部的原始对象。而将不可变对象(例如数字、字符串)作为参数传递给函数时,函数内部对该对象的修改不会影响到函数外部的原始对象,因为不可变对象是无法被修改的。