使用 eval() 将字符串作为函数调用

Calling a string as a function using eval()

我希望为列表调用追加函数,并将追加作为字符串传入。例如:

List = [1,2]
func = 'append'
value = 3
# I wish to call List.append(value) 

我知道有一种方法可以使用 eval,但是我想不通。

您可以使用getattr built-in函数:

>>> my_list = [1, 2]
>>> func = 'append'
>>> value = 3
>>> getattr(my_list, func)(value)
>>> my_list
[1, 2, 3]

使用getattr.

List = [1,2]
func = 'append'
value = 3

f = getattr(List, func)
f(value)
print(List)