函式參數為物件

將物件傳入函式,內容會改變。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Person:
    name = None
    age = None
    def __init__(self, name, age):
        self.name = name
        self.age = age

def change(person):
    person.name = "Mary"
    person.age = 10

p1 = Person("Bill", 20)
print(f"p1 name = {p1.name}, age = {p1.age}")
change(p1)
print(f"p1 name = {p1.name}, age = {p1.age}")
p1 name = Bill, age = 20
p1 name = Mary, age = 10

函式參數指向None

將物件傳入函式,並把它的記憶體位址變成None,不會影嚮外部的物件。


img


img


img


img

完整程式碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Person:
    name = None
    age = None

    def __init__(self, name, age):
        self.name = name
        self.age = age


def change(person):
    # person 指向 None
    person = None

p1 = Person("Bill", 20)
print(f"p1 name = {p1.name}, age = {p1.age}")
change(p1)
print(f"p1 name = {p1.name}, age = {p1.age}")

results matching ""

    No results matching ""