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 在進行程式參數調整的時候非常方便。