Python

Python 복습 7일차 기록

Joon0464 2021. 7. 12. 22:41
''' 클래스 상속 '''

class FourCal():
    def __init__(self,first,second):
        self.first=first
        self.second=second
    def add(self):
        result = self.first + self.second
        return result

class joon(FourCal):
    def pow(self):
        result = self.first - self.second
        return result

a = FourCal(3,5)
print(a.add())      # 8출력

c = joon(3,2)       # FourCal의 생성자에 의해 변수가 저장된다.
print(c.pow())      # 1 출력
''' 메서드 오버라이딩 '''
class FourCal:                                  # 부모 클래스 선언
    def __init__(self,first,second):
        self.first = first
        self.second = second

    def add(self):
        result = self.first + self.second
        return result   

class joon(FourCal):
    def add(self):                              # 부모 클래스의 메소드가 무시되고 자식 클래스의 메소드가 실행된다.
        if self.second==0:                      # 자역변수, 전역변수를 생각하면 쉽다.
            return 0                            # 이 자식 클래스는 second가 0일 때만 동작을 하고
        else:
            result = self.first - self.second   # 0이 아닌 경우에는 부모 클래스의 값을 통해 실행된다.
            return result
d=joon(4,1)                                    
print(d.add())                                  # 3이 출력된다. 즉, joon 클래스의 add 함수가 실행된 것이다.

class wow():
    def setnumber(self,first,second):
        self.first = first
        self.second = second
    def div(self):
        result=self.first/self.second
        return result
a=wow()
a.setnumber(5,6)
print(a.div())

class ho(wow):
    def div(self):
        self.result=self.second/self.first
        return self.result
b=ho()
b.setnumber(5,6)            # 1.2가 출력된다. 즉 ho 클래스의 div함수가 실행된 것이다.
print(b.div())
''' 모듈 '''

# mod1.py

def add (a,b):
    return a + b
    
def sub (a,b):
    return a - b


# 1.py
import mod1
print(mod1.add(3,4))
print(mod1.sub(4,2))

from mod1 import add
print(add(3,4))
#print(sub(3,4))        # sub은 실행하지 못하게된다.
print(mod1.sub(3,4))    # add만 불러왔기 때문에 sub는 따로 지정해야 사용이 가능하다.

from mod1 import add,sub
print(add(3,4))
print(sub(3,4))

from mod1 import *
print(add(3,4))
print(sub(3,4))
''' if __name__=="__main__": 의 의미

# mod1.py
def add (a,b):
    return a + b
    
def sub (a,b):
    return a - b

print(add(3,4))
print(sub(3,4))


# 1.py
import mod1			# 7과 -1이 출력되어버린다.

#########################################################################################

# mod1.py
def add (a,b):
    return a + b
    
def sub (a,b):
    return a - b

if __name__=="__main__":		#mod1.py에 추가한다.
    print(add(3,4))
    print(sub(3,4))

# 1.py
import mod1			# 7과 -1이 더 이상 출력되지 않는다.
# mod2.py
PI = 3.141592

class Math:
    def solv(self,r):
        return PI*(r**2)

def add(a,b):
    return a+b

# 1.py
import mod2
print(mod2.PI)          # 3.131592 출력
a=mod2.Math()
print(a.solv(2))        # 12.566368 출력
print(mod2.add(mod2.PI,4.4))    # 7.541592 출력

'Python' 카테고리의 다른 글

Python 2to3 사용해보기  (0) 2021.07.29
Python 복습 6일차 기록  (0) 2021.07.11
Python 복습 5일차 기록  (0) 2021.07.10
Python 복습 4일차 실습 문제 풀기  (0) 2021.07.09
Python 복습 4일차 기록  (0) 2021.07.09