Jak zaimportować funkcję z argumentami?

0

witam,
mam problem, jak zaimportować z modułu funkcję z argumentami? skończyły mi się pomysły :/..

moduł:

def mod(res):  # Results
(kod)

if __name__ == '__main__':
    res = mmm() - wczesniejsza funkcja w tym pliku która zwraca tablicę retunem
    mod(res)

plik główny:

from files import myfile

if __name__ == '__main__':

    while True:
    (kod)
            print(f'text : ', myfile.mod())

dostaję błąd:

Traceback (most recent call last):
  File "D:\.....", line 22, in <module>
    print(f'text : ', myfile.mod())
TypeError: mod() missing 1 required positional argument: 'res'

--------------

jak zmienię kod

print(f'text : ', myfile.mod(res))

to już same błędy bo w pliku głównym nie mam argumentów (nie mogę mieć)

Thx, za pomoc :D

1

Jak rozumiem masz gdzies w pliku res = cokolwiek?

Zaimportuj te wartosc. Chociaz skoro to ma byc stala to nie wiem czemu to przez argument leci? :P

EDIT: ewentualnie

def foo():
  return mod(res)


from myfile import foo
1

Ale co to w ogóle znaczy importować funkcje z argumentem? Funkcja to funkcja. Ją można tylko "wywołać". Może ty jednak chcesz importować WARTOŚĆ zwróconą przez funkcję a nie samą funkcję w takim razie? Możesz zdefiniować nową funkcje

def fun():
    return mod(mmm())

na przykład i wtedy ta funkcja nie wymaga argumentów i jej wywołanie zawoła mod z argumentem zwróconym przez mmm

Widzisz różnice między funkcją f(x) = x+1 a wartością f(5) = 6?

1

Ja również nie bardzo kumam co chcesz osiągnąć ale "rozumiem" to tak ze być może chcesz 'przekazac' funkcje wraz ze "spakowanymi" argumentami:


from functools import partial


def my_awesome_function(param1, param2):
    print(param1, param2)


packed_func_with_parameters = partial(my_awesome_function, param1="Hello", param2="World")

# teraz mozesz sobie uzyc tego gdzie tam juz sobie chcesz 
# wywolujac funkcje bez parametrow gdyz one sa tu "upakowane" j.w

packed_func_with_parameters()


0

Thx, udało mi się rozwiązać już problem, dziękuję za wskazówki :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1