eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingLambda w Pythonie › Lambda w Pythonie
  • Data: 2021-02-17 15:13:31
    Temat: Lambda w Pythonie
    Od: Roman Tyczka <r...@h...you.spammer> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]


    Być może źle do tego podchodzę... ale potrzebuję funkcji X(), która
    zwraca jakieś dane, tę funkcję muszę przekazać dalej i gdzieś tam w
    trzewiach biblioteki zostanie wywołana i pobrana z niej wartość.
    Problem polega na tym, że funkcja ma zwracać różne dane w zależności od
    pewnego parametru, ale samego parametru jej przekazać nie mam jak, więc
    pomyślałem, że zrobię sztuczkę z lambdą/anonymousem, czyli utworzę
    funkcję, która dostanie ten istotny parametr i zwróci lambdę już
    "spreparowaną" pod wymagania wynikające z tego parametru.
    No ale nie umiem :-(

    Zrobiłem tak:

    #funkcja generująca tablicę bajtów o określonej długości
    def getCTR(bits: int):
    k = bits // 8
    b = bytes([6])
    return b * k

    #typ lambdy, który korzysta z powyższej funkcji
    getCTRn = lambda x : getCTR(x)

    #funkcja główna, mająca zwrócić lambdę
    #spreparowaną na zwrócenie określonej wartości
    def getCTRx(bites):
    g: getCTRn = getCTRn(8 * bites)
    return g

    i kod właściwy, który tego wszystkiego powyżej używa:

    ctr = getCTRx(algModule.key_size)
    ciph = algModule.new(key, algMode, IV=iv, counter=ctr)

    Niestety, zmienna ctr zamiast lambdy otrzymuje od razu tablicę bajtów
    :-( Co robię źle?

    --
    pzdr
    Roman

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: