본문 바로가기

파이썬 프로그래밍/파이썬 기초

[Python]파이썬 특수한 메소드 init, str 사용해보기

개념

init

- 인스턴스를 생성하면 자동으로 실행되는 함수

str

- 인스턴스자체를 출력할 때 형식을 지정하는 함수




실습

init

1
2
3
4
5
6
7
8
9
10
11
12
13
# 클래스 생성#
class charic():
    '''레벨을 올려보자'''
    def __init__(self, name, level):
        '''init을 사용해 초기화 해주자'''
        self.name = name
        self.level = level
# 클래스 생성 끝#
 
create = charic("rednooby"1)
print(create.name)
print(create.level)
 
cs

init은 인스턴스가 생성되면 자동으로 실행되는 것을 알아보기 위한 코드입니다.



코드를 한눈에 이해하기 위해 그림을 넣어봤습니다.

create라는 변수를 만들어 그것을 class와 그안에 값들을 넣어줍니다


그리고 print문으로 잘 들어갔는지 확인하는 것입니다.




이렇게 위와같이 __init__을 사용하여 초기화하는 함수를 만들어주면 저절로 인스턴스를 만들때 호출이 됩니다.


Init 실행화면






str

인스턴스가 문자열로 어떻게 표현될지 결정을 해주는 역할을 합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 클래스 생성#
class charic():
    '''레벨을 올려보자'''
    def __init__(self, name, level):
        '''init을 사용해 초기화 해주자'''
        self.name = name
        self.level = level
 
###====여까지 똑같습니다====###
 
    def __str__(self):     #문자열화 해주는 함수 선언!
        '''문자열화 해주는 함수'''
        return "닉네임: {}, 레벨: {}".format(self.name, self.level)
        #해당 값으로 return 해주겠습니다!
# 클래스 생성 끝#
 
create = charic("rednooby"1#그대로 값을 집어넣습니다.
print(create) #init에서는 create.name, create.level을 했지만
              #__str__에서 이미 문자열화 해주는 함수를 사용하여
              #return 했기 때문에 create 그대로 사용해도 실행이 됩니다.
 
 
cs
def __str__ 함수를 보시면
return을 사용하여 문자열이 어떻게 표현되는지 결정하는 것을 보실 수 있습니다.

str 실행화면