Przepisanie wektora wartości z jednej funkcji, do drugiej.

0

Dzień Dobry,

Nie jestem za dobry w programowaniu, a zwłaszcza mało wiem o Pythonie, a muszę wykonać jedną małą rzecz.. mianowicie..

Mam skrypt powiedzmy A.py, która sprawdza pewne warunki i jeśli są one spełnione to odwołuje się do funkcji w skrypcie B.py, a funkcja w skrypcie B wyświetla wynik w postaci wektora: print(wektor).

Natomiast ja potrzebuję ten wektor użyć w skrypcie A. Czy jest jakiś sposób aby przesłać go ze skryptu B.py do A.py?

Nie wiem czy mnie zrozumieliście ale mam nadzieję, że tak. Z góry dziękuję bardzo serdecznie wszystkim za pomoc.

Pozdrawiam!

0

Da sie, o ile zrobisz to po ludzku. Niech skrypt B.py ma funkcje która ZWRACA ten wektor a nie tylko go wypisuje. Niech skrypt A.py importuje B.py jako moduł, następnie wywołuje tą funkcje.

0

Mam w skrypcie A zaimportowany skrypt B, więc to już coś. Funkcja z wcześniej zaimportowanego skryptu B jest wywoływana w skrypcie A. Więc chyba już połowa drogi za mną. Teraz pytanie jakiej komendy użyć, żeby skrypt B nie tylko wypisywał funkcję ale też zwracał cały wektor?

Bardzo dziękuję za szybką odpowiedź i nakierunkowanie mnie.

0

Łatwiej byłoby jakbyś pokazał jak to teraz wygląda.

0

a więc tak.. w skrypcie A w nagłówku mam:

import MFRC522

i potem jest kod programu (dosyć długi więc go nie kopiuje) aż w SPACJA końcu jest odwołanie do skryptu MFRC522:

MIFAREReader.MFRC522_Read(8)

a skrypt MFRC522 (jeszcze dłuższy niż skrypt A) wykonuje funkcję MFRC522_Read, której efektem jest:

if len(backData) == 16:
print(backData)

i tutaj zostaje wyświetlony ten wektor co się nazywa backData

Ja potrzebuje jednak mieć go w skrypcie A, wyświetlanie nie jest mi potrzebne :)

Domyślam się, że trzeba by było pewnie uzyć return backData?

Nie wiem czy jasno wytłumaczyłem ale jak nie to będę sie starał wytłumaczyć to jeszcze jaśniej :)

0

Generalnie interesuje mnie czy to co chcesz wykonać jest wewnątrz funkcji czy nie ;) Jeśli jest to możesz na jej końcu dać return cośtam ją zwyczajnie wywołać. Jeśli nie, to musisz ten kod upakować w funkcje która na koniec robi return cośtam

0

To co jest w skrypcie A to zwykły if, natomiast to co jest w skrypcie MFRC522 to funkcja. MFRC522_Read to funkcja, która zaczyna się def..

0

Dałeś mi mocno do myślenia :) Poczytałem trochę o zwracaniu w Pythonie i udało mi się to zrobić. Przynajmniej na jednej cyfrze. Będę potrzebował jednak przenieść cały wektor i mam nadzieję, że mi się to uda :)

Dziękuję serdecznie za pomoc! :)

0

W sumie to bardzo szybko można zrobić, zaprezentuje na przykładzie, by kolejne osoby które odnajdą ten wątek mogły spokojnie znaleźć upragnione rozwiązanie.

#Plik A.py
from B import funkcja_b
def jakas_funkcja_a(**jakies_argumenty):
    {BLOK INSTRUKCJI}
    zmienna_do_wyniku = funkcja_b(argumenty, jakie, wymaga, funkcja, b)
    print(zmienna_do_wyniku, type(zmienna_do_wyniku))
>>>(argument1, argument2, argument3) <tumple>
    print(zmienna_do_wyniku[1])
>>> argument2
    zmienna_a, zmienna_b, zmienna_c = funkcja_b(argumenty, jakie, wymaga, funkcja, b)
    print(zmienna_c)
>>> argument3
    print(zmienna_a)
>>> argument1


#Plik B.py
def funkcja_b(**jakies argumenty):
    {BLOK INSTRUKCJI}
    return argument1, argument2, argument3

Myślę że to jest zrozumiałe i pozwoli ci przetransportować wektory :)

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