When I want to start a for loop in Python, I can type something like “for row in apps_data:” and I don’t have to specify what I mean by “row.” I’ve seen similar things like “for word in textfile” or “for app in apps_data.” How does it know “word,” “app,” etc.? Is there some source that documents what interators python already knows?
Hello @mmr.winchell, welcome to the community!
Python knows it because that’s how the syntax was designed to work. The variable immediately after the for
is the iterator. There is no specific word you need to use as iterators. Anyone will work if you use it in whole code.
You can read more in this topic:
You can read more about for
loop in the documentation:
I’m not an expert, but I will try to answer you because I also had a similar confusion.
Python is a high level programming language which means we can program it more like writing in English. So I think sometimes simplification can also cause confusion.
When we write for row in dataset
or for app in apps_data
we are trying to make the code easier to read by using English language like variables. Instead of app
you can use i
(which is a variable that I’ve mostly used when I learned C++ in school). But the variable ‘i’ or ‘x’ wouldn’t give much of a context when we read someone else’s code. So to make it more readable we use for app in apps_data
instead of i in apps_data
Well its the same way we name a file according to its content, for example app_data. This name can be anything. But if we name it xyz_file, after a while we will have difficulty in remembering what exactly it is in comparison with app_data.
So it is not python’s high intelligence that it finds out apps
from apps_data
. Like @otavios.s mentioned, that is how python is designed. So don’t confuse with the meaning of variables that has been used. It can be anything. But for better readability we use relevant names to those variables. I hope this answers your question.