在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
屬性來改變了對象的狀態,從而影響了函數外部的原始對象。
需要注意的是,當將可變對象(例如列表、字典)作為參數傳遞給函數時,函數內部對該對象的修改會影響到函數外部的原始對象。而將不可變對象(例如數字、字符串)作為參數傳遞給函數時,函數內部對該對象的修改不會影響到函數外部的原始對象,因為不可變對象是無法被修改的。