객체지향 프로그래밍

객체

string_test = "문자열"

객체.메소드

객체지향 프로그래밍

클래스

객체 처리 함수

# P374
# 딕셔너리 리턴 함수
def create_student(name, korean, math, english, science) :
    return {
        "name": name,
        "korean": korean,
        "math": math,
        "english": english,
        "science": science
    }

# 점수 합계, 평균 구하는 함수
def student_get_sum(student) : # 합계
    return student["korean"] + student["math"] +\\
         student["english"] + student["science"]

def student_get_average(student) : # 평균
    return student_get_sum() / 4

def student_to_string(student) : # 문자열 리턴
    return "{}\\t{}\\t{}".format(
        student["name"],
        student_get_sum(student),
        student_get_average(student))

# 학생 리스트
students = [
    create_student("윤인성", 87, 98, 88, 95),
    create_student("연하진", 92, 98, 96, 98),
    create_student("구지연", 76, 96, 94, 90),
    create_student("나선주", 98, 92, 96, 92),
    create_student("윤아린", 95, 98, 98, 98),
    create_student("윤명월", 64, 88, 92, 92)
]

# 반복하여 출력
print("이름", "총점", "평균", sep="\\t") # \\t tab으로 구분
for student in students : # for 딕셔너리 in 리스트
    print(student_to_string(student))

클래스

객체를 조금 더 효율적으로 생성하기 위해 만들어진 구문

class 클래스 이름:
    클래스 내용
인스턴스 이름(변수 이름) = 클래스 이름() # 생성자 함수라고 불림

파이썬에서는 모든 것이 클래스

클래스명은 캐멀케이스 - 대문자