I. 클래스와 객체의 관계 가. 클래스 정의 클래스로 객체를 만들어 관계 확인 [예제] 클래스 정의 class MyClass(object) : pass print(issubclass(MyClass, object)) # 클래스와 최상위 클래스 객체 상속 관계 print(issubclass(MyClass, type)) # 클래스와 메타클래스 상속 관계 print(isinstance(MyClass, type)) # 클래스는 메타클래스로 생성 [결과] True False True 나. 클래스와 객체 관계 확인 파이썬의 모든 클래스는 메타클래스로 생성되며,
I. 클래스 정의 머리부 – 예약어 class 클래스명 (상속 클래스명) – 기본 상속은 항상 object 클래스가 됨 몸체부 – 클래스의 데이터인 속성 (Attribute) – 객체를 생성할 때 속성을 정의하는 초기화 함수 – 객체와 클래스의 행위를 표현하는 함수들 (인스턴스 / 클래스 / 정적 메소드) [예제] 클래스 정의 class Car(object) : # 클래스 머리부 pass # 클래스
I. 고정/가변 위치 인자 처리 고정 위치 인자 고정된 매개변수에 1대 1로 맵핑하는 인자 가변 위치 인자 하나의 매개변수에 여러 개를 맵핑하는 인자 가. 고정 위치 인자 처리 함수 호출 시 고정으로 인자를 전달해서 위치에 맞게 1대1로 맵핑하여 처리 [예제] 고정 위치 인자 처리 def func1(a, b) : print("locals", locals()) # 매개변수와 인자 매칭 확인
I. 함수 정의 방법 머리부 – 예약어(def)를 먼저 쓰고 함수명과 매개변수를 작성, 콜론(:)을 붙여 완성 몸체부 – 함수의 기능 작성, 결과를 예약어(return)과 변환값 작성 – 아무런 기능이 없을 때도 블록 문장(pass문) 작성 호출 – 함수 이름 다음 실행 연산자인 괄호를 붙여 실행 – 인자가 있으면 매개변수와 동일하게 실행 연산자 내 지정 함수 이름으로 이름 공간이
I. 인라인 제어문 라인 내 삼항 연산자를 이용하여 제어문 표시 [Ture인 경우 수행문] if [조건식] else [False인 경우 수행문] [예제] 인라인 제어문 a = 10; b = 20 c = a if a > b else b # 조건식이 True인 경우 a, False인 경우 b를 c에 할당 print(c) c = a if a < b
I. 반복 객체 순환, for 문 원소를 여러 개 가지는 문자열, 리스트 등을 반복 순환 시 for문 사용 for [원소를 꺼낼 변수] in [반복 객체(리스트 등)] : 원소를 하나씩 꺼내면서 한 번 씩 수행 모든 원소를 꺼낸 후 for문 종료 [예제] 반복 객체 반복문 a = [1, 2, 3, 4, 5] result =
I. 단순 조건 처리문 조건 처리를 위해 예약어 if를 사용하여 True일 경우 문장을 처리 if와 else를 사용하여 True일 경우와 False일 경우 문장 처리 가능 [예제] 단순 조건 처리문 if 20 > 10 : print("20 > 10 is True") [결과] 20 > 10 is True [예제] 인라인 부정 조건 처리문 (is not 비교 연산자 사용) if
I. 함수, 클래스 문서화 소프트웨어 유지보수를 위해 프로그램에 관한 설명(문서화) 필요 모듈의 문서화는 속성 “__doc__”에 저장하여 print로 출력 가능 가. 문서화 확인 [예제] math 모듈의 문서화(__doc__) 확인 import math print(math.__doc__) [결과] This module provides access to the mathematical functions defined by the C standard. 나. 모듈 문서화 모듈 작성 시 첫 번째 문장을 문자열로 작성하여
I. 블록 문장의 줄 들여쓰기 if, for, 함수 정의문 등에 머리부와 몸체부를 콜론(:)으로 구분 몸체부에 4칸 들여쓰기하여 하나의 블록 문장으로 구성 [예제] 들여쓰기 for i in range(5) : # 머리부 print(i) # 몸체부(들여쓰기) [결과] 0 1 2 3 4 II. 멀티라인 작성 가. 멀티라인 연산자 분리 연산자를 분리하여 여려 줄로 작성 시 역슬래시(\)로 구분