Правила обзора для Python 2.x уже изложены в других ответах. Единственное, что я хотел бы добавить, это то, что в Python 3.0 существует также концепция нелокальной области (обозначается ключевым словом «нелокальное»).
EDIT: Здесь PEP . EDIT: здесь
Прежде всего, обратите внимание, что вы не должны использовать list
в качестве имени переменной, поскольку оно зарезервировано как ключевое слово самим Python. Затем у вас может быть другой список, скажем, instanceList
, в который вы будете добавлять каждый вновь созданный экземпляр класса:
myList = ['One','Two','Three']
instanceList = []
for value in myList:
instanceList.append(class(value))
Вы можете использовать понимание списка, чтобы создать список экземпляров классов из списка значений:
class A:
def __init__(self, value):
self.value = value
values = ['One','Two','Three']
instances = [A(v) for v in values]
>>> print(list(o.value for o in instances))
['One', 'Two', 'Three']