20200517 파이썬 함수 클래스 상속 오버라이딩

NOAH·2021년 5월 17일
0

TIL

목록 보기
56/179
post-thumbnail

Done

  • 파이썬 함수 클래스 입출력 문법
Def 함수이름(매개변수):
    실행문장1
    실행문장2
    return 반환값()

다음 두 코드의 차이는? (글로벌 변수에 관하여)

a=0 
def printVal(score, name):
    a=0
    print('score =', score, ' name = ', name)
    a+=1
    return a
while True:
    score=int(input('score:'))
    name=input('name:')
    tt=printVal(score,name)
    if tt==5:
        break
    print(tt, '회 입력')
a=0 
def printVal(score, name):
    global a
    print('score =', score, ' name = ', name)
    a+=1
    return a
while True:
    score=int(input('score:'))
    name=input('name:')
    tt=printVal(score,name)
    if tt==5:
        break
    print(tt, '회 입력')

클래스 생성

class Sum1: #1) 클래스 이름
    def__init__(self,n1,n2) #2 생성자 선언 매개변수(n1,n2) self.n 은 이후 클래스에서 계속 기억
        self.n1=n1 #3 객체 변수 생성
        self.n2=n2
    def add(self): #4 클래스 내부의 메서드 
        result=self.n1+self.n2 #5 객체 변수 생성
        return result #6 result 반환
a = Sum1(10,20) #7 객체 생성(
print(a.add()) #8 메서드 호출 및 출력
class gaesan:
    def __init__(self,n1,n2):
        self.n1=n1
        self.n2=n2
    def add(self):
        return self.n1+self.n2
    def sub(self):
        return self.n1-self.n2
    def mul(self):
        return self.n1*self.n2
    def div(self):
        return self.n1/self.n2
        

상속

class gaesanMore(gaesan):
    def mul2(self):
        return self.n1**self.n2

오버라이딩

class gaesanRe(gaesan):
    def div(self):
        if self.n2 == 0:
            print('error')
        else:
            return self.n1/self.n2
'''


0개의 댓글