使用 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)
我希望为列表调用追加函数,并将追加作为字符串传入。例如:
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)