[python]기초문법11

1 minute read

혼자 공부하는 파이썬 45강 - 클래스 도입

객체(Object)
:속성 + 행위


클래스 기본 구성 요소(1) - 속성 정의하기

학생 리스트 선언
students = [
        {"name":"윤인성","korean":87, "math":98,"english":88,"science":95},
        {"name":"구하진","korean":92, "math":98,"english":96,"science":98},
        {"name":"구지연","korean":76, "math":96,"english":94,"science":90},
        {"name":"나선주","korean":98, "math":92,"english":96,"science":92},
        {"name":"윤아린","korean":95, "math":98,"english":98,"science":98},
        {"name":"윤명월","korean":64, "math":88,"english":92,"science":92},
]

#학생을 한 명씩 반복
print("이름", "총점", "평균",sep="\t")

for student in students:
        #점수의 총합과 평균을 구합니다
        score_sum = student["korean"] + student["math"] +\
                student["english"]+student["science"]
        score_average = score_sum / 4
        #출력
        print(student["name"], score_sum, score_average, sep="\t")


클래스 기본 구성 요소(2) - 행위 정의하기

#학생 리스트 선언
students = [
        {"name":"구지연","korean":76, "math":96,"english":94,"science":90},
        {"name":"나선주","korean":98, "math":92,"english":96,"science":92},
        {"name":"구하진","korean":92, "math":98,"english":96,"science":98},
        {"name":"윤인성","korean":87, "math":98,"english":88,"science":95},
        {"name":"윤아린","korean":95, "math":98,"english":98,"science":98},
        {"name":"윤명월","korean":64, "math":88,"english":92,"science":92},
]

def totalScore(student):
        return student["korean"] + student["math"] + student["english"] + student["science"]
def averageScore(student):
        return totalScore(student) / 4 
def show(student):
        print(student["name"], totalScore(student), averageScore(student), sep="\t")


#학생을 한 명씩 반복
print("이름", "총점", "평균",sep="\t")

for student in students:
        show(student)


클래스 기본 구성 요소(3) - 객체를 만드는 함수

#리스트를 바로 선언하는 것이 아닌, 리스트를 생성하는 함수로 학생 리스트 선언
def studentReg(name, korean, math, english, science):
        return{
                "name": name,
                "korean":korean,
                "math":math,
                "english":english,
                "science":science
        }

def totalScore(student):
        return student["korean"] + student["math"] + student["english"] + student["science"]
def averageScore(student):
        return totalScore(student) / 4 
def show(student):
        print(student["name"], totalScore(student), averageScore(student), sep="\t")

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

#학생을 한 명씩 반복
print("이름", "총점", "평균",sep="\t")

for student in students:
        show(student)


클래스 구문 - 속성과 행위 합치기

class student:
        def __init__(self,name, korean, math, english, science):
                self.name = name
                self.korean = korean
                self.math = math
                self.english = english
                self.science = science

        def totalScore(self):
                return self.korean + self.math + self.english + self.science
        def averageScore(self):
                return self.totalScore() / 4 
        def show(self):
                print(self.name, self.totalScore(), self.averageScore(), sep="\t")

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

print("이름", "총점", "평균",sep="\t")

for studenta in students:
        studenta.show()


혼자 공부하는 파이썬 46강 - 기본 클래스 선언

스네이크 케이스와 캐멀 케이스
i_love_you : 기본적으로 사용
I_LOVE_YOU : 상수 표현

캐멀 케이스
ILoveYou : 클래스 이름
파이썬에서는 대문자로 시작한다.

클래스 선언하고 인스턴스화하기

class Student:
        #생성자
        def __init__(self,name, age): #클래스 내부의 함수는 첫번째함수로 자기자신, self를 가져야 한다.
                #클래스의 속성 선언
                self.name = name
                self.age = age

        #소멸자: C,C##은 직접 소멸을 시켜줘야함, java,C#,python같이 GC가 자동으로 변수를 소멸시켜주는 언어는 소멸자를 많이 안씀
        def __del(self):

        #클래스의 함수 선언
        def show(self):
                print(self.name, self.age)

#클래스는 틀, 객체는 실체화 된 것, 인스턴스는 실체화한 객체를 말한다
student = Student("윤인성", 3) #student가 인스턴스
student.show()

Leave a comment