Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 클래스로 리스트 요소 추가, 삭제, 출력하기

리스트에 요소를 추가하고, 삭제하고, 화면에 표시하는 작업을 클래스 기반으로 구현하려면 객체 지향 프로그래밍(OOP) 방식을 활용하는 것이 좋습니다. 이 방식에서는 하나의 클래스를 정의하고 그 안에 속성과 메서드를 선언합니다. 그런 다음 클래스의 인스턴스(객체)를 생성하여, 각 메서드를 통해 리스트에 요소를 추가하거나 삭제하거나 전체 목록을 출력할 수 있습니다.

아래 예제를 통해 실제 동작 과정을 살펴보겠습니다.

예제 코드

class list_class():
    def __init__(self):
        self.n = []
    def add_val(self, a):
        return self.n.append(a)
    def remove_val(self, b):
        self.n.remove(b)
    def display_val(self):
        return (self.n)

my_instance = list_class()
choice_val = 1
while choice_val != 0:
    print("0. Exit")
    print("1. Add elements")
    print("2. Delete element")
    print("3. Display list")
    choice_val = int(input("Enter your choice: "))
    if choice_val == 1:
        n = int(input("Enter element to add to the list... "))
        my_instance.add_val(n)
        print("List: ", my_instance.display_val())
    elif choice_val == 2:
        n = int(input("Enter number to delete.."))
        my_instance.remove_val(n)
        print("List: ", my_instance.display_val())
    elif choice_val == 3:
        print("List: ", my_instance.display_val())
    elif choice_val == 0:
        print("Exit")
    else:
        print("Invalid choice!")
print()

실행 결과

0. Exit
1. Add elements
2. Delete element
3. Display list
Enter your choice: 1
Enter element to add to the list... 34
List: [34]
0. Exit
1. Add elements
2. Delete element
3. Display list
Enter your choice: 3
List: [34]
0. Exit
1. Add elements
2. Delete element
3. Display list
Enter your choice: 2
Enter number to delete..34
List: []
0. Exit
1. Add elements
2. Delete element
3. Display list
Enter your choice: 0
Exit

코드 설명

  • 'list_class'라는 이름의 클래스를 정의하며, 이 클래스에는 'add_val', 'remove_val', 'display_val' 세 가지 메서드가 포함되어 있습니다.
  • 'add_val'은 리스트에 새로운 요소를 추가하고, 'remove_val'은 특정 요소를 삭제하며, 'display_val'은 현재 리스트의 내용을 반환합니다.
  • 생성자(__init__)에서는 빈 리스트를 초기화하여 인스턴스마다 독립적인 리스트를 가지도록 합니다.
  • 클래스의 인스턴스인 'my_instance'를 생성한 후, 사용자 입력을 받아 각 메서드를 호출하는 방식으로 동작합니다.
  • while 루프와 조건문을 사용해 사용자가 메뉴 번호를 선택하면 해당 연산이 수행되고, 결과가 콘솔에 출력됩니다.
  • 사용자가 '0'을 입력하면 프로그램이 종료되며, 잘못된 값을 입력하면 "Invalid choice!"라는 오류 메시지가 표시됩니다.

이처럼 클래스를 활용하면 리스트 관련 연산을 하나의 객체로 캡슐화할 수 있어 코드의 재사용성과 유지보수성이 크게 향상됩니다. 필요에 따라 검색, 정렬, 개수 확인 등의 메서드를 추가하여 기능을 확장할 수도 있습니다.