def list_function(x):
for y in x:
print y
n = [4, 5, 7]
list_function(n)
x
her öğe aracılığıyla İlk örnek yinelediğinden. İkinci örneğiniz
, numaralı öğenin her bir öğesiyle yinelenen'u başlatır, ancak ilk önce bu işlevin yürütülmesini sona erdirir.
ilk örneğe daha yakından bakalım:
Fonksiyonun içerisinde
def list_function(x):
for y in x:
print(y) # Prints y to the screen, then continues on
n = [4, 5, 7]
list_function(n)
, for
döngü x
üzerinde iterating başlayacak. İlk y
, yazdırılan 4
olarak ayarlanır. Daha sonra 5
olarak ayarlanmış ve yazdırılmış, daha sonra 7
ve yazdırılmıştır.
Şimdi ikinci örneğe bir göz atın:
def list_function(x):
for y in x:
return y # Returns y, ending the execution of the function
n = [4, 5, 7]
print(list_function(n))
Fonksiyonun içerisinde for
döngü x
üzerinde iterating başlayacak. İlk y
, döndürülür, olarak ayarlanır. Bu noktada, fonksiyonun çalışması durdurulur ve değer arayan kişiye geri döner. y
hiçbir zaman 5
veya 7
olarak ayarlanmamıştır. Bu kodun hala bir şeyi ekrana yazdırmasının tek nedeni, print list_function(n)
satırında çağrıldığından, dönüş değeri yazdırılacaktır. İlk örnekte olduğu gibi list_function(n)
ile aradıysanız, hiçbir şey ekrana yazdırılmaz.
İade her zaman bir işlevin yürütülmesini sona erdirir. –
Ayrıca bkz. Http://stackoverflow.com/q/27502505/4014959 –
Bu soruya, yeni programlama sorularının burada iyi karşılanmadığını ya da anında aşağı çekilmelere neden olduğunu söyleyen tüm insanlara karşı delil olarak gideceğim. Bu, tek bir downvote olmadan son derece basit bir konu hakkında iyi yazılmış, iyi sunulmuş bir sorudur. –