[Python] CHAP. 05
- 객체지향 프로그래밍
객체 : 변수와 함수를 묶어놓은 것
객체지향 프로그래밍 : 객체를 기반으로 하는 프로그래밍
- 객체 생성 이유
: 객체 안에 있는 변수를 안에있는 함수들만 사용하도록
class A:
def __init__(self):
self.__data = 0
def show(self):
print(self.__data)
def setdata(self, data):
self.__data = data
a = A()
a.__data = 100 # 무시한다
a.show()
a.setdata(100)
a.show()
[결과]
0
100
1) class 생성
import random
class Test:
def addTest(self):
a = random.randint(0, 10)
b = random.randint(0, 10)
c = a + b
print(a, "+", b, "=", end="")
ans = int(input())
if ans == c:
return 1
else:
return 0
2) 객체 생성
test = Test()
- test: 객체 이름
- Test(): Test 객체 생성, 클래스 이름에 괄호를 붙인다- 객체 안에 함수를 호출할 때
.
을 사용한다
score = 0
test = Test()
while(True):
print("-----")
print("[1] add")
print("[2] substract")
print("[q] exit")
print("-----")
m = input("select menu : ")
if (m == 'q'):
break
elif(m == '1'):
score += test.addTest() # test 안에 addTest() 함수 호출
elif(m == '2'):
score += test.subTest()
print("Your score is", score)
3) 관련 변수도 묶는다
import random
class Test:
def __init__(self):
self.score = 0
def addTest(self):
a = random.randint(0, 10)
b = random.randint(0, 10)
c = a + b
print(a, "+", b, "=", end="")
ans = int(input())
if ans == c:
self.score = self.score + 1
def subTest(self):
a = random.randint(0, 10)
b = random.randint(0, 10)
c = a - b
print(a, "-", b, "=", end="")
ans = int(input())
if ans == c:
self.score = self.score + 1
- 최종 코드
import random
class Test:
def __init__(self):
self.score = 0
def addTest(self):
a = random.randint(0, 10)
b = random.randint(0, 10)
c = a + b
print(a, "+", b, "=", end="")
ans = int(input())
if ans == c:
self.score = self.score + 1
def subTest(self):
a = random.randint(0, 10)
b = random.randint(0, 10)
c = a - b
print(a, "-", b, "=", end="")
ans = int(input())
if ans == c:
self.score = self.score + 1
test = Test()
while(True):
print("-----")
print("[1] add")
print("[2] substract")
print("[q] exit")
print("-----")
m = input("select menu : ")
if (m == 'q'):
break
elif(m == '1'):
test.addTest() # test 안에 addTest() 함수 호출
elif(m == '2'):
test.subTest()
print("Your score is", test.score)
- del : 객체 지우는 방법
-> 변수는 사라지지만 실제로 객체가 바로 메모리 해제되는것은 아니다
Author And Source
이 문제에 관하여([Python] CHAP. 05), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jyj1055/Python-CHAP.05저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)