336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
3. 클래스와 객체
1) 클래스 기초
- 파이썬은 객체지향 방식과 절차적 방식 모두 개발 가능.
- 해킹에서는 절차적 방법이 편리.
- 객체지향 언어는 상속과 조립을 이용해 개발 생산성 향상 및 재사용성을 높일 수 있음.
class 클래스명: def __init__(self, 인자): def 함수명(인자): class 클래스명 (상속 클래스명): def 함수명(인자):
☞ 1줄 클래스 생성 : 예약어 class를 사용하면 클래스를 선언가능.
☞ 2줄 생성자 : 클래스 생성시 디폴트로 호출되는 생성자. 첫 번째 인자는 자신을 가리키는 self가 들어감. 불필요시 생략가능.
☞ 4줄 상속 : 다른 클래스를 상속하려면 클래스 선언시 인자로 상속받을 클래스명을 넣음. 상위 클래스의 멤버변수와 함수를 그대로 재사용 가능.
2) 클래스 생성
- 앞전에 작성했던 함수 예제를 클래스로 대체하여 클래스 사용법을 익힘.
☞ 함수 예제 : http://hyeonnii.tistory.com/90
# This is comment #class Hero start class Hero: def __init__(self, name, age, height): self.name = name self.age = age self.height = height def printHero(self): print "\n----------------------------------------" print "1. name : ", self.name print "2. age : ", self.age print "3. height : ", self.height #class Hero end #class MyHero start class MyHero(Hero): def __init__(self, myFood, myCal, index): Hero.__init__(self, "GilDong", 9, 180) self.food = myFood self.cal = myCal self.idx = index def printFood(self): print "4. food : ", self.food, "[cal", self.cal[self.idx], "]" print ">>> full!!!" print "\n----------------------------------------\n" #class MyHero end food = ["burger", "rice", "pizza", "bulgogi"] cal = ["100.2", "89.8", "90", "55.3"] selectedFood = raw_input("select food: ") i=0 for each_item in food: if(each_item == selectedFood): myHero = MyHero(selectedFood, cal, i) myHero.printHero() myHero.printFood() i = i+1
☞ 클래스 변수 사용시 self.변수명 형태로 사용함.
☞ 19줄 생성자 호출 : 상위 클래스의 생성자를 호출하여 객체를 초기화하여 생성.
☞ 39줄 클래스 생성 : MyHero 클래스 생성. 생성자에 필요한 인자를 함께 넘겨줌.
'해킹&보안 > 파이썬문법' 카테고리의 다른 글
[5] 파이썬 기본 문법 (모듈) (0) | 2017.05.14 |
---|---|
[4] 파이썬 기본 문법 (예외처리) (0) | 2017.05.13 |
[2] 파이썬 기본 문법 (분기문, 반복문, 함수) (0) | 2017.05.10 |
[1] 파이썬 기본 문법 (0) | 2017.05.08 |
파이썬 해킹 테스트 환경 (0) | 2017.05.08 |