최대 1 분 소요

순서

1.객체 지향 프로그래밍

2.클래스

3.클래스 매직 메소드

4.문제 풀이하기

5.클래스변수와 인스턴스변수

6.in키워드


 

1.객체 지향 프로그래밍(oop: object- oriented proframming)

 인간의 현실세계에 있는 모든 만물

우리가 인식 할 수 있는 유무형의 물체는 모두 객체(object)라고 할 수 있다

자전거, 집, 정치, 윤리, 사회....

 


2.클래스(class)

객체(object)를 만들어 내기 위한 일종의 설계도와 같은 개념 즉,객체를 정의하기 위한 설계도(틀)

클래스로 만들어내는 객체 -인스턴스

 

클래스를 만드는 틀

class 클래스명:
      속성
      속성
      함수(메소드)-클래스안에 함수는 메소드이다
      함수(메소드)
 

 

클래스 만들어보자

class Namecard:  
    def set_info(self,name,email,addr):
        self.name = name  
        self.email = email
        self.addr = addr
    def print_info(self):
        print('Name:',self.name) # 
        print('Email:',self.email)
        print('Addr:',self.addr)
        

대부분의 클래스의 이름은 대문자이다

self는 만들어질 인스턴스의미,객체가 저장되는 공간이다

 

IM_card = Namecard() 
IM_card.set_info('lm','lm@naver.com','anseng')
IM_card.print_info()
    Name: lm
    Email: lm@naver.com
    Addr: anseng

객체를 만들어내고(객체화, 인스턴스화)

객체가 만들어지면 자동으로 파이썬에서 내부적으로 self로 전달한다

 

print(IM_card.name)
print(IM_card.email)
print(IM_card.addr)

# 바꾸기
IM_card.name = "ddd"
print(IM_card)
print(type(IM_card))
    ddd
    lm@naver.com
    anseng
    <__main__.Namecard object at 0x00000216DAA8BE50>
    <class '__main__.Namecard'>
IM_card.name 
'ddd'
#메모리의 주소값 id()- 서로 다른값이다

print(id(IM_card))
    2297181027920

카테고리:

업데이트:

댓글남기기