Python에서 객체에 속성 추가

Rana Hasnain Khan 2024년2월15일
Python에서 객체에 속성 추가

Python에서 객체에 속성을 추가하는 방법을 소개합니다. 또한 예제를 통해 Python에서 객체의 속성을 변경하는 방법을 소개합니다.

Python에서 객체에 속성 추가

Python에서는 객체 지향 언어이기 때문에 때때로 객체로 작업합니다. 객체는 코딩을 재사용 가능하고 복잡한 구조를 구현하기 쉽게 만듭니다.

객체의 주요 부분은 속성입니다. 속성은 특정 객체의 속성이 무엇인지 정의합니다.

개체로 작업하는 동안 프로그램 중간에 개체에 새 속성을 추가해야 하는 상황이 많이 있을 수 있습니다.

Python은 객체의 새 속성을 쉽게 설정할 수 있는 setattr() 함수를 제공합니다. 이 함수는 속성 값을 대체할 수도 있습니다.

객체의 속성 값을 할당할 수 있는 기능입니다.

이 방법은 특정 생성자와 개체 함수를 통해 변수에 값을 할당하는 다양한 방법을 제공합니다. 이 기능을 사용하면 값을 할당하는 다른 대체 방법도 사용할 수 있습니다.

이제 이 setattr() 함수의 구조에 대해 논의하겠습니다. setattr()을 구성하는 구조는 다음과 같습니다.

# python
setattr(object, name, value)

이 함수의 구문에서 볼 수 있듯이 세 개의 인수를 함수에 전달하면 객체의 속성을 설정할 수 있습니다.

다음과 같이 명시된 세 가지 매개변수가 있습니다.

  1. 객체 - 생성하고 속성을 설정하려는 객체의 이름을 전달합니다.
  2. 이름 - 값을 할당하려는 개체의 속성 이름입니다.
  3. - 여기에 속성 값을 전달합니다.

학생 클래스를 생성하는 예를 살펴보겠습니다. 아래와 같이 새 학생을 만들고 몇 가지 특성을 할당합니다.

# python
class Students:
    name = "Rana Hasnain"
    roll_no = "BC140402269"
    cgpa = 3.5


new_student = Students()
setattr(new_student, "name", "James Bond")
setattr(new_student, "roll_no", "007")
setattr(new_student, "cgpa", 4)

print("New Student Name:", new_student.name)
print("New Student Roll #:", new_student.roll_no)
print("New Student Cgpa:", new_student.cgpa)

출력:

python에서 객체에 속성 추가하기

위의 예에서 볼 수 있듯이 우리가 만든 개체의 속성을 설정하는 것은 매우 쉬웠습니다. 이제 다른 시나리오에 대해 논의해 보겠습니다.

새 개체가 있고 클래스에서 누락된 특성을 설정하려고 한다고 가정해 보겠습니다.

경우에 따라 특성이 없거나 모든 특성이 클래스에 생성되지 않습니다. 이 경우 새 속성을 할당하고 해당 값을 설정할 수 있습니다.

그러나 그렇게 하려면 객체가 __dict__() 메서드를 구현해야 합니다. 예제를 살펴보고 존재하지 않는 속성에 값을 할당해 봅시다.

위의 예를 사용하여 아래와 같이 새 속성인 degree를 지정하려고 합니다.

# python
class Students:
    name = "Rana Hasnain"
    roll_no = "BC140402269"
    cgpa = 3.5


new_student = Students()
setattr(new_student, "name", "James Bond")
setattr(new_student, "roll_no", "007")
setattr(new_student, "cgpa", 4)
setattr(new_student, "degree", "BSCS")

print("New Student Name:", new_student.name)
print("New Student Roll #:", new_student.roll_no)
print("New Student Cgpa:", new_student.cgpa)
print("New Student Degree:", new_student.degree)

출력:

파이썬에서 객체에 존재하지 않는 속성 추가하기

위의 예에서 볼 수 있듯이 이 함수는 존재하지 않는 새 속성을 만들고 여기에 값을 할당할 수도 있습니다.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

관련 문장 - Python Object