코알못의 프로그래밍 자습노트<python > : class 의 개념 이해하기steemCreated with Sketch.

in #pythonlast month
  • 전문가가 아닌 코알못의 자습노트 입니다. 잘못된 내용이 있을 수 있으니 참고바랍니다 :- )
class smartphone:
    
    def __init__(self, brand, name, price):
        self.brand = brand
        self.name = name
        self.price = price
        
    
    def CreatPhone(self):
        phone = {}        
        phone['brand'] = self.brand
        phone['name'] = self.name
        phone['price'] = self.price
        print('{} 핸드폰 생성되었습니다.'.format(self.name))
        return phone

위 클래스는 스마트폰을 만들어주는 클래스이다.

아래와 같이 클래스를 매개변수들과 함께 넘겨서 실행시키고 phone 이라는 인스턴스를 생성한다

phone = smartphone('samsung', 'galaxy note 20', 1000000)

def init 함수에 의해 아래와 같이 초기화가 진행된다.

self.brand  =  'samsung'
self.name = 'galaxy note 20'
self.price = 1000000

여기서 def init 함수에는 self 라는 인자가 있지만 이것은 클래스에서 나 자신을 참조하라는 부분인데..

self에 대한 자세한 설명은 여기로..

지금 클래스를 사용하여 phone 이라는 인스턴스를 생성한 상태이니 그 인스턴스를 사용하여 핸드폰을 생성하면 된다.

smartphone 이라는 클래스 안에는 def CreatPhone 이라는 함수가 존재한며 이걸 이용하려면

생성된인스턴스명.함수명() << 이런식으로 사용한다.

 phone.CreatPhone()

여기서 보면 smartphone 클래스안에 있는 CreatPhone 에서는 self 라는 인자를 넘겨줘야하는데 실제 함수를 사용할때는 아무것도 없이 넘긴다.

이게 위에 잠깐 언급했던 나 자신을 참조하여 실행시킨다는것인데 여기서 나 자신은 그전에 만들었던 인스턴스..

즉 여기서는 phone 이고 이것은 곧 smartphone('samsung', 'galaxy note 20', 1000000) 으로 초기화한 그 값들인것이다.

이제 phone.CreatPhone() 이 실행값을 print 해보면 아래와 같은 값이 print 될것이다.

['samsung', 'galaxy note 20', 1000000]

Coin Marketplace

STEEM 0.16
TRX 0.03
JST 0.026
BTC 13818.37
ETH 407.35
USDT 1.00
SBD 0.99