• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przekazanie parametrów do funkcji wewnątrz funkcji - Python

Object Storage Arubacloud
0 głosów
897 wizyt
pytanie zadane 14 października 2017 w Python przez chacken Użytkownik (820 p.)

Ok mam funkcję _api_method() która przyjmuje jako argument nazwę funkcji do wywołania (component -> np. "doLogIn"), a w niej jest zagnieżdżona inna funkcja _service() która się z automatu wykonuje kożystając z "Basic parameters" gdyż jest zwracana.
Jestem nowy w pythonie i mam pytanie jak w jaki sposób stworzyć wywołanie tej metody głównej _api_method() tak żeby przekazać do argumentu **kwargs funkcji _service() (która jest wewnątrz funkcji _api_method()) dodatkowe parametry? Jak np. :

a = { 'location': x, 'sorttype': y, 'range': 100 }

Bo zakładam ze trzeba to podać w słowniku

Poniżej funkcja o której mówię:


    def _api_method(self, component):
        """
        A wrapper around suds components. Adds common parameters
        to each call as well as handles session expiration gracefully.
        """
        def _service(*args, **kwargs):
            # Prefill basic parameters.
            kwargs['countryCode'] = self.country_code
            kwargs['countryId'] = self.country_id
            kwargs['webapiKey'] = self.api_key
            kwargs['localVersion'] = self.versions.get(self.country_id)

            try:
                return component(*args, **kwargs)
            except WebFault as exc:
                # Session expired - login again and retry.
                if exc.fault.faultcode in ['ERR_NO_SESSION', 'ERR_SESSION_EXPIRED']:
                    self.sign_in()
                    return component(*args, **kwargs)
                raise
        return _service

Funkcja jest znaleziona na gitlabie i łączy się ale tylko z podstawowymi parametrami. Niby jest "pomoc" w komentarzu ale jej kompletnie nie rozumiem :(

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
1 odpowiedź 404 wizyt
0 głosów
1 odpowiedź 712 wizyt
pytanie zadane 4 stycznia 2019 w Python przez DragonCoder Nałogowiec (36,500 p.)
0 głosów
1 odpowiedź 624 wizyt
pytanie zadane 1 czerwca 2018 w Python przez KariK-02 Mądrala (6,030 p.)

92,555 zapytań

141,403 odpowiedzi

319,559 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...