본문 바로가기
programming/Python

파이썬 클래스 변수 프로퍼티 수정하기 python class variable property update

by 개코 - 개발과 코딩 2021. 11. 8.

파이썬 클래스를 객체화하면 클래스내의 변수나 메서드에 접근할 수 있다. 클래스를 처음 접할 때도 이미 지켜봤다. 클래스를 이용해 개발을 하던, 공부를 하던 클래스를 접할 때부터 이미 클래스 변수에 접근하는 방법을 익혔던 것이다. 사용법인 간단하고 다른 OOP 언어들도 점으로 클래스에 접근한다.

파이썬 클래스 프로퍼티 수정하기
python class property update

파이썬으로 클래스를 만들고 객체화를 시켰다면 변수들이 있을 것이다.

이 변수들을 초기화하고 데이터를 가공할 수 있으나, 개발 중간중간 클래스 변수들을 변경하고 싶을 것이다.

프로퍼티는 이러한 클래스 변수를 말한다.

클래스 생성시 초기화값을 가진 프로퍼티의 값을 변경하려면 점을 이용한다.

클래스 변수 프로퍼티 접근

클래스 변수인 프로퍼티가 만들어 졌다면 점을 이용하여 클래스 변수에 접근할 수 있다.

접근이 가능하면 클래스 변수의 값을 변경할 수 있다.

사용법은 간단하다.

init 메서드로 클래스가 객체화가 되면서 property 란 클래스 변수인 프로퍼티가 만들어지고 변수값이 설정되었다.

이후 코딩을 할 때는 클래스명.변수명 으로 접근할 수 있다.

def pythonClass #-{

	def __init__(this) #-{
		this.property = "A"
	#-}

#-}

pythonClass.property

샘플코드

이전에 했던 코드를 기준으로 프로퍼티에 접근하여 값을 변경하도록 해본다.

프로퍼티에 접근하기 위해서 점을 이용한다고 언급했다.

사용방식은 클래스명.클래스변수명(프로퍼티) 를 코드에 넣어주면 된다.

간단하게 코드를 만들어 본다.

print('----------')

#- 클래스부분
class ClsMbtiTest : #-{

    def __init__(this, name, mbti, avengers) : #-{
        this.name = name
        this.mbti = mbti
        this.avengers = avengers
    #-}

    def fnIdolInfo(mbti) : #-{

        print("---- MBTI 정보 ----")
        print("검사자 이름", type(mbti.name), mbti.name)
        print("MBTI 결과", type(mbti.mbti), mbti.mbti)
        print("비슷한 어벤져스", type(mbti.avengers), mbti.avengers)

    #-}

#-}

idol1 = ClsMbtiTest("크리스 에반스", "ISFJ", "캡틴 아메리카");
idol1.avengers = "Captain America"
idol1.fnIdolInfo()

print('----------')

idol2 = ClsMbtiTest("스칼렛 요한슨", "ISTP", "블랙 위도우");
idol2.avengers = "Black Widow"
idol2.fnIdolInfo()

print('----------')

idol3 = ClsMbtiTest("크리스 햄스워스", "ESTJ", "토르");
idol3.avengers = "Thor"
idol3.fnIdolInfo()

print('----------')

idol4 = ClsMbtiTest("로버트 다우니 주니어", "ENTP", "아이언맨");
idol4.avengers = "Iron Man"
idol4.fnIdolInfo()

print('----------')

코드는 길어보이지만 중요한 것은 클래스에 접근하여 값을 변경하는 부분이다.

변경하는 부분은 한글값을 영어값으로 변경해 주고 있는 것을 알 수 있다.

객체 변수에 클래스를 할당하고 객체 변수에 점을 이용하여 클래스 변수에 접근하는 것을 알 수 있다.

결과 화면을 보자.

초기에 설정된 값이 영어로 잘 번역되어 출력되는 것을 볼 수 있다.

 

반응형

댓글