python 用字符串当做方法名,参数名

1、有些时候我们接收到一个字符串,需要调用这个字符串表示的方法

这个时候可以用到 getattr()

拿requests库来举个栗子

requests 有get post put 等方法 我们可以这样写函数

    import requests

    def req_mode(url, requests_type):
        res = getattr(requests, requests_type)(url)
        print(res.request)

调用这个方法

req_mode('http://www.baidu.com', 'get')
req_mode('http://www.baidu.com', 'post')

<PreparedRequest [GET]>
<PreparedRequest [POST]>

2、如果想用字符串的方式传入参数名

    kwargs = {'url': 'http://www.baidu.com', 'requests_type': 'get'}
    req_mode(**kwargs)

猜你喜欢

转载自blog.csdn.net/wuchenlhy/article/details/79650503