[python]기초문법11
혼자 공부하는 파이썬 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