728x90 반응형 Python7 [Python] 7. 파이썬의 모듈 및 사용자 정의 모듈 모듈(module) : 여러 코드를 묶어, 다른 곳에서 재사용 할 수 있는 '코드 뭉치' - 내장 모듈 : 기본적으로 제공되는 모듈 - 사용자 정의 모듈 : 프로그래머(개발자 등)가 직접 정의/작성한 모듈 # math라는 모듈 사용해보기 import math if __name__ == "__main__": print(math.log(100)) # 밑이 2인 log100 값을 출력해줌 print(math.pi) # π(파이)값을 출력해줌 print(dir(math.pi)) # math 모듈에 포함된 모든 함수를 출력해줌 # 사용자 정의 모듈 작성 및 사용해보기 # setctrl.py 모듈 from functools import * def intersect(*ar): # 교집합을 return하는 함수 ret.. 2021. 10. 26. [Python] 6. 다중 상속 및 이름 충돌 다중 상속 : 2개 이상의 클래스를 동시에 상속 받는 것을 의미 # 다중 상속 테스트 class Tiger: def Jump(self): print("호랑이 Jump") class Lion: def Bite(self): print("사자 Bite") class Liger(self): def Play(self): print("라이거 Play") if __name__ == "__main__": adultLiger = Liger() # 2개의 클래스로부터 상속받은 메소드 사용 시 오류 발생 X adultLiger.Play() adultLiger.Bite() adultLiger.Jump() # 다중 상속의 경우, 이름 충돌이 발생하는 경우 테스트 class Tiger: def Jump(self): print(".. 2021. 10. 26. [Python] 5. 상속과 다형성 상속 : 부모 클래스의 모든 멤버(함수 혹은 변수)를 자식 클래스에게 물려줄 수 있는 것 - 자식 클래스는 물려받은 멤버 이외에 추가 기능 구현! 다형성(override) : 상속 받은 메소드의 내용을 재정의하기 - 부모 클래스와 같은 메소드지만 자식 클래스에서 내용을 변경하는 것 class Person: def __init__(self, name, phoneNumber): self.name = name self.phoneNumber = phoneNumber def printInfo(self): print("Name : {0}, Phone Number : {1}".format(self.name, self.phoneNumber) class Student(Person): # Person : 부모 클래스, S.. 2021. 10. 26. [Python] 4. private 멤버 private 멤버변수 : 클래스 내부의 멤버 변수 중 숨기고 싶은 변수 private 멤버변수의 특징 - 클래스의 내부 변수는 일반적으로 public 속성을 갖기 때문에 외부에서 마음대로 접근하거나 변경 가능 - 하지만, private 멤버 변수는 그렇지 않음 cf. '외부'란 main 함수 혹은 객체를 통한 접근 등을 통틀어 일컫는 말 식별자(예약어) : 키워드는 아니지만, private 멤버 변수로 사용하기 위해, 미리 정해진 용도로만 사용하는 문자 식별자 정의 예시 _* 모듈(파일) 안에서 _로 시작하는 식별자를 정의하면 다른 파일에서 접근 불가 _age __*__ 식별자의 앞뒤에 __가 붙어 있는 식별자는 시스템에서 정의한 이름 __name__ __* 클래스 안에서 외부로 노출되지 않는 식별자로.. 2021. 10. 26. [Python] 3. 정적 메소드 정적 메소드(= static method) - 클래스에서 직접 호출할 수 있는 메소드 - 즉, 인스턴스(객체)를 생성하지 않고 클래스 이름을 이용하여 호출할 수 있는 메소드 - 메소드를 정의할 때 인스턴스 객체를 참조하는 self라는 인자를 선언하지 않음 아래 코드와 설명을 보며, 좀 더 확실하게 이해해 보자!! class MyOperatorStatic(): @staticmethod def my_addStatic(x, y): return x+y class MyOperator(): def my_add(self, x, y): return x + y if __name__ == '__main__': print(MyOperatorStatic.my_addStatic(1,6)) myOperator = MyOperat.. 2021. 10. 13. [Python] 2. 생성자 메소드와 소멸자 메소드 생성자 메소드 - 객체를 생성할 때, 자동으로 호출되어 실행되는 메소드 - 객체가 생성될 때, 가장 먼저 호출되는 메소드 - 일반적으로, 생성자 메소드에 멤버변수를 초기화 하는 코드를 작성한다. 소멸자 메소드 - 생성 되었던 객체의 소멸될 때 자동으로 호출되어 실행되는 메소드 - 객체의 레퍼런스 카운트가 0이 될 때 자동으로 호출 - 클래스가 소멸되기 전에 수행되어야 할 코드를 작성한다. 아래의 예제 코드 참고! class MyCass: def __init__(self, value): self.Value = value print("Class is created. Value = ", value) def __del__(self): print("Class is deleted.") if __name__ == '.. 2021. 10. 6. 이전 1 2 다음 728x90 반응형