[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)クラスの作成
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:オブジェクト名-テスト():クラス名にかっこ
.
を使用します.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)
->変数は消えますが、オブジェクトはすぐにメモリから解放されません.
Reference
この問題について([Python] CHAP. 05), 我々は、より多くの情報をここで見つけました https://velog.io/@jyj1055/Python-CHAP.05テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol