Python에서 개체 목록을 만들려면:
새 변수를 선언하고 빈 목록으로 초기화합니다.
범위 객체를 반복하려면 for 루프를 사용하세요.
클래스를 인스턴스화하여 각 반복마다 객체를 생성하세요.
각 개체를 목록에 추가합니다.
class Employee(): def __init__(self, id): self.id = id list_of_objects = [] for i in range(5): list_of_objects.append(Employee(i)) print(list_of_objects) for obj in list_of_objects: print(obj.id) # ????️ 0, 1, 2, 3, 4
우리는 반복할 수 있는 범위 객체를 얻기 위해 range() 클래스를 사용합니다.
range 클래스는 일반적으로 for 루프에서 특정 횟수만큼 반복하는 데 사용됩니다.
print(list(range(5))) # ????️ [0, 1, 2, 3, 4] print(list(range(1, 6))) # ????️ [1, 2, 3, 4, 5]
특정 숫자부터 시작해야 하는 경우 2개의 매개변수(시작 및 중지)를 range() 클래스에 전달하세요.
각 반복에서 현재 번호로 Employee 클래스의 인스턴스를 만들고 결과를 목록에 추가합니다.
list.append() 메서드는 목록 끝에 항목을 추가합니다.
Employee 클래스는 단일 ID 매개변수로 인스턴스화될 수 있지만 사용 사례에 따라 객체를 생성하는 동안 더 많은 매개변수를 전달해야 할 수도 있습니다.
목록에 있는 객체의 print() 함수 출력을 변경해야 하는 경우 클래스에 __repr__() 메서드를 정의하세요.
class Employee(): def __init__(self, id): self.id = id def __repr__(self): return str(self.id) list_of_objects = [] for i in range(5): list_of_objects.append(Employee(i)) # ????️ [0, 1, 2, 3, 4] print(list_of_objects)
각 객체의 ID를 print() 함수의 출력으로 사용합니다.
__repr__() 메서드는 문자열을 반환해야 한다는 점에 유의하세요.
우리 클래스가 __init__() 메서드에 필요한 모든 속성을 정의하지 않은 경우 setattr() 함수를 사용하여 각 객체에 속성을 추가하세요.
class Employee(): def __init__(self, id): self.id = id def __repr__(self): return str(self.id) list_of_objects = [] for i in range(3): obj = Employee(i) setattr(obj, 'topic', 'Python') setattr(obj, 'salary', 100) list_of_objects.append(obj) # ????️ [0, 1, 2] print(list_of_objects) for obj in list_of_objects: print(getattr(obj, 'topic')) print(getattr(obj, 'salary'))
setattr 함수는 객체에 속성을 추가합니다.
이 함수는 다음 3개의 매개변수를 사용합니다.
속성을 추가할 객체 개체
속성의 이름 이름 지정
value 속성 값
이름 문자열은 다음과 같습니다. 기존 또는 새 속성.
getattr 함수는 객체가 제공하는 속성 값을 반환합니다.
이 함수는 개체, 속성 이름 및 개체에 속성이 없는 경우 기본값을 매개 변수로 사용합니다.
또는 목록 이해를 사용할 수도 있습니다.
Python에서 개체 목록을 만들려면:
list comprehension을 사용하여 범위 개체를 반복합니다.
각 반복에서 클래스를 인스턴스화하여 개체를 만듭니다.
새 목록에는 새로 생성된 모든 개체가 포함됩니다.
class Employee(): def __init__(self, id): self.id = id def __repr__(self): return str(self.id) list_of_objects = [ Employee(i) for i in range(1, 6) ] print(list_of_objects) # ????️ [1, 2, 3, 4, 5] for obj in list_of_objects: print(obj.id) # 1, 2, 3, 4, 5
우리는 길이 5의 범위 개체를 반복하기 위해 목록 이해를 사용합니다.
List comprehension은 각 요소에 대해 특정 작업을 수행하거나 조건을 만족하는 요소의 하위 집합을 선택하는 데 사용됩니다.
각 반복에서 Employee 클래스를 인스턴스화하여 객체를 생성하고 결과를 반환합니다.
새 목록에는 새로 생성된 모든 개체가 포함됩니다.
어떤 방법을 선택할지는 개인 취향의 문제입니다.
List comprehension은 매우 간단하고 읽기 쉽지만 각 객체에 추가 속성을 추가해야 하거나 생성 프로세스가 더 복잡한 경우 for 루프를 사용해야 합니다.
클래스의 목록에 항목 추가:
클래스의 __init__() 메서드에서 목록을 초기화합니다.
하나 이상의 항목을 허용하고 목록에 추가하는 메서드를 정의하세요.
class Employee(): def __init__(self, name, salary): self.name = name self.salary = salary self.tasks = [] # ????️ initialize list def add_task(self, task): self.tasks.append(task) return self.tasks bob = Employee('Jiyik', 100) bob.add_task('develop') bob.add_task('ship') print(bob.tasks) # ????️ ['develop', 'ship']
클래스의 __init__() 메서드에서 작업 목록을 인스턴스 변수로 초기화합니다.
인스턴스 변수는 클래스를 인스턴스화하여 생성하는 모든 인스턴스에 대해 고유합니다.
class Employee(): def __init__(self, name, salary): self.name = name self.salary = salary self.tasks = [] # ????️ initialize list def add_task(self, task): self.tasks.append(task) return self.tasks alice = Employee('Fql', 1000) alice.add_task('design') alice.add_task('test') print(alice.tasks) # ????️ ['design', 'test'] bob = Employee('Jiyik', 100) bob.add_task('develop') bob.add_task('ship') print(bob.tasks) # ????️ ['develop', 'ship']
두 인스턴스에는 별도의 작업 목록이 있습니다.
인스턴스 변수 대신 클래스 변수를 사용할 수도 있습니다.
클래스 변수는 클래스의 모든 인스턴스에서 공유됩니다.
class Employee(): # ????️ class variable tasks = [] def __init__(self, name, salary): self.name = name self.salary = salary @classmethod def add_task(cls, task): cls.tasks.append(task) return cls.tasks Employee.add_task('develop') Employee.add_task('ship') print(Employee.tasks) # ????️ ['develop', 'ship'] alice = Employee('Fql', 1000) print(alice.tasks) # ????️ ['develop', 'ship'] bob = Employee('Jiyik', 100) print(bob.tasks) # ????️ ['develop', 'ship']
tasks 변수는 클래스 변수이므로 모든 인스턴스에서 공유됩니다.
add_task() 메소드를 클래스 메소드로 표시합니다. 클래스 메소드에 전달되는 첫 번째 매개변수는 클래스입니다.
list.append() 메서드는 목록 끝에 항목을 추가합니다.
그러나 종종 해야 할 일은 여러 항목을 목록에 추가하는 것입니다.
list.extend() 메소드를 사용하여 반복 가능한 객체의 항목을 목록에 추가할 수 있습니다.
class Employee(): def __init__(self, name, salary): # ????️ 实例变量(每个实例都是唯一的) self.name = name self.salary = salary self.tasks = [] # ????️ 初始化列表 def add_tasks(self, iterable_of_tasks): self.tasks.extend(iterable_of_tasks) return self.tasks bob = Employee('Jiyik', 100) bob.add_tasks(['develop', 'test', 'ship']) print(bob.tasks) # ????️ ['develop', 'test', 'ship']
list.extend() 메서드를 사용하여 작업 목록에 여러 값을 추가합니다.
list.extend 메소드는 반복 가능한 객체(예: 목록 또는 튜플)를 사용하고 반복 가능한 객체의 모든 항목을 추가하여 목록을 확장합니다.
위 내용은 Python에서 객체 목록을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!