argument-unpacking

Co oznacza operator gwiazdy w wywołaniu funkcji?

Co oznacza operator * w Pythonie, np. w kodzie zip(*x) lub f(**k)? Jak jest to obsługiwane wewnętrznie przez tłumacza? Czy ... ydajność? Szybko czy wolno? Kiedy jest przydatny, a kiedy nie? czy powinna być używana w deklaracji funkcji czy w wywołaniu?

Rozpakowywanie, rozszerzone rozpakowywanie i zagnieżdżone rozszerzone rozpakowywanie

Rozważ następujące wyrażenia. Zauważ, że niektóre wyrażenia są powtarzane, aby przedstawić "kontekst". (jest to długa lista) ... = 'XY', 3, 4 # ERROR -- too many values to unpack Jak poprawnie wydedukować rezultat takich wyrażeń ręcznie?

Rozpakowywanie, rozszerzone rozpakowywanie i zagnieżdżone rozszerzone rozpakowywanie

Rozważmy te wyrażenia... Proszę o cierpliwość... to długa lista... (Uwaga: niektóre wyrażenia są powtarzane - jest to tylko ... takich wyrażeń. Czy czytając czyjś kod, powinienem go po prostu zignorować i nigdy nie próbować pojąć, co robi to wyrażenie?

Klasa, która działa jak mapowanie do * * rozpakowywania

Bez podklasowania dict, co klasa musi być traktowana jako mapowanie, aby mogła zostać przekazana do metody z **. from abc im ... o dict waliduje twierdzenia jako podklasę, ale nie powiodło się isinstance(o, dict). Idealnie, nie nawet chce używać ABCMeta.

Przekazywanie tablicy / listy do Pythona

Patrzyłem na przekazywanie tablic lub list, jak Python ma tendencję do ich wywoływania, do funkcji. Czytałem coś o używaniu ... def someFunc(*args, someString) Ponieważ wyrzuca błąd. Chyba kompletnie się pogubiłam i szukam kogoś do wyjaśnij mi to.

Rozpakuj Tablicę Jako Argumenty

Więc w Pythonie i Ruby istnieje operator splat ( * ) do rozpakowywania tablicy jako argumentów. W Javascript jest .funkcja ap ... main() { arr := []int{2,4} sum := my_func(arr) } Przepraszam, jeśli popełniam błędy składniowe/różne. Jestem nowy.