Как объединить эти две функции с той, которая использует необязательный параметр? - PullRequest
0 голосов
/ 18 января 2019

Следующие две функции практически идентичны:

def http_get(url):
    with urllib.request.urlopen(url) as w:
        return w.read()

def http_post(url, params):
    with urllib.request.urlopen(url, params) as w:
        return w.read()

Могу ли я использовать списки аргументов переменной длины или необязательные параметры, чтобы объединить их, чтобы я мог вызвать его с одним или двумя параметрами, и сделать ли это правильно?

Ответы [ 2 ]

0 голосов
/ 18 января 2019

если вы передаете все аргументы напрямую, вы можете утверждать, что вам следует просто использовать *args.

def http_get(*args):
    with urllib.request.urlopen(*args) as w:
        return w.read()

http_post = http_get
0 голосов
/ 18 января 2019
def http_get(url, params=None):
    with urllib.request.urlopen(url, params) as w:
        return w.read()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...