클래스 속성기초 와 실습

chp9419·2021년 4월 11일
0
post-thumbnail
오늘 공부는 클래스 문법에 대해 알아보았다

class Person():
    def __init__(self):
        self.hello ='안녕하세요'

    def greeting(self):
        print(self.hello)

james = person()
james.greeting()

class Person():
Person은 클래스명을 뜻하는 것이고 클래스명은 대문자로 표현해준다!

__init__
메서드는 인스턴스를 만들때 호출되는 특별한 메서드인데 이름그대로 객체를 초기화! 하고
__init__메서드를 사용하면 속성.self를 사용한다.

self의미는 인스턴스 자기자신을 뜻하기 때문에 self ==Person()하고 같은의미.

def greeting(self)에서 self는 james.greething() 의미하여

출력하면 안녕하세요가 나온다.

다만

def greeting(self):             def greeting(self):										
    print(self.hello)      →        print("변경되었다.")
    

정리

Person() 클래스가 메서드(init) 초기화 하였기에 greeting 메서드 코드에 들어가도 올바르게 출력되는 것이다.
init 메서드 대신 다른 메서드를 VS코드 터미널에서 아래와 같은 오류가 발생한다.

AttributeError: 'Person' object has no attribute 'hello'

"Person 객체에 hello특성이 없다." 라고 생각하면된다..

번외

self.hello 대신 > "변경되었다."변경해도 값은 에러 없이 출력된다.

profile
주어진 문제는 해결하고 공부하고 성장한다.

0개의 댓글