Skip to content

[Python] setattr() 函式與 getattr() 函式的使用方法

Last Updated on 2021-05-17 by Clay

在 Python 當中,setattr() 以及 getattr() 是常常一起出現的 function。

setattr() 可以『設定』 class 內定義變數的值,getattr() 則是可以『取得』class 內定義變數的值。

以下來看段簡單的範例:

# -*- coding: utf-8 -*-


class test(object):
    a = 123
    b = 'today'


print(getattr(test, 'a'))
print(getattr(test, 'b'))



Output:

123
today

首先我們定義了 class "test"、以及包含著的 a、b 兩個變數。然後在外部,我們可以通過 getattr() 來取得這兩個變數的值。

setattr() 的用法同樣簡單。

# -*- coding: utf-8 -*-


class test(object):
    a = 123
    b = 'today'



setattr(test, 'a', 777)
setattr(test, 'b', 'yesterday')
print(getattr(test, 'a'))
print(getattr(test, 'b'))


Output:

777
yesterday

這次由於我們事先設定過了,所以 getattr() 得到的值便分別為 "777" 以及 "yesterday" 了。

這兩個 function 在進行程式參數調整的時候非常方便。

Tags:

Leave a Reply