Mam mały fragment kodu, aby zrozumieć, jak zwracać wartości, które mogą być używane w innych sekcjach kodu. W dalszej części chcę tylko zwrócić zmienną z lub wartość drzemki. Ale to nie działa. Czy ktoś może mi pomóc zrozumieć, dlaczego to nie zadziała?Nie można zwrócić wartości z funkcji
import time
def sleepy(reps, snooze):
t = []
for x in range(reps):
x = time.time()
time.sleep(snooze)
y = time.time()
z = y - x
t.append(z)
print 'difference = ', z*1000
print 'total:', (sum(t)/reps) * 1000
return z
sleepy(10, 0.001)
print z # does not like this.
Jeśli wydrukuję drzemkę, to także burczy. Dlaczego?
@IcyFlame: Czy ** nie ** Kod zmiana w pytaniach!Cały problem polega na tym, że 'z' jest zwracany, ale nie zapisywany w zmiennej, nie dodawaj tej zmiennej. –
@MartijnPieters, ale czuję, że skoro 'z' znajduje się w zasięgu pętli' for', to nie będzie widoczne aby go zwrócić – manas
@silent_warrior: Nie, Python tworzy tylko nowy zakres dla modułów i funkcji (z listą, dyktowanie i ustawianie rozumienia, a także wyrażenia generatora i lambdy, będące wyspecjalizowanymi formami funkcji). Zmienne przypisane do pętli są widoczne w pozostałej części tego zakresu. –