파이썬 프로그래밍 5

Python에서 Module 사용하기

Module이란 뭘까요 ? 그냥 "같은 기능을 하는 함수 또는 클래스를 합쳐 놓은 것"? 이 정도쯤으로 생각하면 될까요?제 생각에는 맞는 것 같습니다. ^-^ 사실 다를게 없네요. 파이썬에서 파일을 추가하는 명령은 import입니다. 대신 확장자를 명시하지 않아도 됩니다.lib.py 내에 존재하는 class A를 생성하기 위해서는 모듈명.(dot) 클래스명() 이러한 구조를 가집니다. 쉽죠? 파일이 조금만 많아져도 모듈로 관리하는 것이 프로젝트시에는 훨씬 빠른 검색?!을 돕습니다. 무조건 기억하세요. "같은 기능의 것을 모은다" 이 것이 OOP의 가장 핵심 개념이라고 생각합니다. 생활코딩 자료입니다.

Python class의 멤버에 관한 이야기 2

Python에 대한 클래스 멤버 이야기 2 출처:생활코딩 여기서 보시다 시피 루비와 유사합니다. 우선 파이썬에서 클래스 변수 선언 방법은 ............... 잘 들으셔야 합니다. 바로 ,,, "클래스 내 / 메소드 밖" 입니다. 즉, count가 선언 되어 있는 곳에서 선언 해주신다면, 클래스 변수가 됩니다. 참 쉽죠??ㅎ 그리고, 루비도 마찬가지로 클래스 변수는 초기화를 해주어야 합니다. 그렇지 않으면, 시작 값이 뭔지 모르기에 컴퓨터가 "뭔 코드냐?"라며 에러를 내 뿜습니다. 그리고 __init__은 파이썬의 생성자라 생각 하시면 쉽습니다. 그리고 메소드에서 빠져서는 안되는 self의 인자! 기억 해둡시다. 파이썬에서는 self 파라미터를 입력 해주어야 합니다.

Python class의 멤버에 관한 이야기 1

Python에서 클래스 멤버에 관한 이야기입니다.출처:생활코딩 루비와는 다르게 파이썬언어는 두가지 형태가 존재 합니다. 클래스 메소드와 static 메소드입니다. 두가지를 사용하려면 루비와는 다르게 메소드 위에 @staticmethod / @classmethod를 지정해주어야 합니다. 그렇게 되면 클래스 멤버로 소속 되는 거죠. 인스턴스 메소드와는 다른 차이점을 가지게 됩니다. 그리고 중요한 팁! 클래스 메소드의 경우 cls 라는 인자를 넣어주셔야 합니다. 그 외는 기타 다른 언어에서 사용 했듯이 클래스 메소드를 사용하시면 됩니다. 사용 예시는 차차 진행하면서 사용하도록 하겠습니다. 보통 공통된 변수(예를 들어 동일한 객체가 공유해야 하는 값들), 공통된 작업을 해야 하는 경우 클래스 메소드로 지정하여 ..

python 에서 상속 이야기

class Class1로 하나의 클래스가 정의 되고 있습니다. 가진 것은 method1 인 함수를 지니고 있네요 ? 그렇지만 4line~8line에 걸친 class2가 가진 것은 method1 , method2를 가지고 있습니다. 사실 밑의 코드를 실행 하면 결과는 같습니다. 그리고 #:주석 밑의 코드의 경우에는 Class3로 괄호 안에 Class1을 품고 있습니다. 품는다? 가진다? 사람은 사람에게 상속을 받고, 상속 하기도 하죠 ? 코드에서는 상속이 돈. 금은 보화를 주는게 아닌 자신이 가진 코드를 줍니다. Class1이 가진것은 method1 이었죠 ? 그럼 Class3는 method1을 가지고 있지 않지만, Class1로 부터 상속을 받아 가지게 됩니다. 즉, Class3는 method2와 그리고..

python에서 객체 지향 이야기( 캡슐화 )

파이썬에서 클래스 작성시 def __init__은 클래스를 객체로 만드는 중요한 함수입니다.꼭! 만드셔야 합니다. 그리고 파이썬의 함수는 self라는 매개변수를 추가 해주어야 합니다. 왜? 인지는 나중에 말씀드리겠지만, 지금은 무조건 추가!만 기억하시면 됩니다. 파이썬의 경우 9번 라인 처럼 c1.value를 통해 클래스 인스턴스 변수에 접근이 가능합니다. 이것은 중요한 차이가 존재 합니다. 왜냐하면 객체 지향 방법론에서는 캡슐화를 보장하는 것이 좋기 때문입니다. 캡슐화는 클래스를 포장하는 것을 말 합니다. 즉, 클래스라는 상자에 변수, 함수가 있더라도 사용자는 직접적인 접근을 허용 하는 건 불필요하다는 사실이죠. 왜냐? 변수에 접근만 하는 함수를 별도로 작성 하기 때문입니다. 그러나 , 파이썬의 경우 ..

반응형