티스토리 뷰

파이썬으로도 Object-Oriented programming(객체지향 프로그래밍)을 할 수 있는데요 Class를 사용하기 위한 기본적인 개념을 정리했습니다.

self

self는 class의 instance를 가리킵니다.

self의 id와,  instance의 id 값이 같게 지정된것을 확인하면 이해할 수 있습니다.

1
2
3
4
5
6
class WhatIsSelf:
    def __init__(self):
        print 'self:', id(self)
 
= WhatIsSelf()
print 'instance:', id(w)
cs

 

self: 4417518624
instance: 4417518624

__init__ method

init은 initialize method(초기화 메서드)를 말합니다.

class를 생성했을때 초기화를 시켜주는 특수한 메서드 입니다.

메서드는 일반함수와의 구분을 위한것으로 클래스의 함수를 메서드라고 칭합니다.


Exercise

1
2
3
4
5
6
7
8
9
10
11
12
class Friends:
    def __init__(self, name, age, job='Unemployed'):
        self.name = name
        self.age = age
        self.job = job
    def hasJob(self):
        if self.job=='Unemployed':
            pass
        else:
            print "Job : %s" % (self.job)
 
= Friends('Chloe'30'Programmer')
cs

 

  • Friends class를 생성했습니다.
  • __init__ method의 첫번째 인자는 self입니다.
  • __init__method가 name, age, job을 초기화합니다.
  • job 인자가 입력되지 않을 경우 'Unemployed'기본인자를 사용하도록 하였습니다.
  • hasJob() method는 직업이 없으면 넘어가고, 직업이 있으면 직업정보를 프린트합니다.
  • Friends class를 f라는 instance(객체)로 만들었습니다.
  • f instance를 이용해서 hasJob() method를 사용할 수 있습니다.
> f.hasJob()
Job : Programmer
  • instance(객체)의 필드를 확인하고 싶으면 내장함수 vars()를 사용합니다. dictionary로 들어있음을 알 수 있습니다.
> vars(f)
{'job': 'Programmer', 'age': 30, 'name': 'Chloe'}

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함