8장 클래스
1. 클래스의 기본
1) 객체
# 객체 생성
students = [
{"name":"강명호","korean":80,"math":70,"english":60,"science":100},
{"name":"최수원","korean":50,"math":40,"english":100,"science":70},
{"name":"이연경","korean":40,"math":70,"english":42,"science":80},
{"name":"김유정","korean":42,"math":62,"english":72,"science":86},
{"name":"양채연","korean":75,"math":56,"english":52,"science":54},
{"name":"박지인","korean":61,"math":78,"english":72,"science":52},
]
print("이름","총점","평균",sep="\t")
for student in students:
score_sum = student["korean"]+student["math"]+\
student["english"]+student["science"]
score_mean = score_sum / 4
print(student["name"], score_sum, score_mean, sep = "\t")
* 함수 사용해서 생성
# 객체 생성
def create_student(name, korean, math, english, science):
return {
"name":name,
"korean": korean,
"math": math,
"english": english,
"science": science
}
students = [
create_student("강명호",80,70,60,100),
create_student("최수원",50,40,100,70),
create_student("이연경",40,70,42,80),
create_student("김유정",42,62,72,86),
create_student("양채연",75,56,52,54),
create_student("박지인",61,78,72,52)
]
print("이름","총점","평균",sep="\t")
for student in students:
score_sum = student["korean"]+student["math"]+\
student["english"]+student["science"]
score_mean = score_sum / 4
print(student["name"], score_sum, score_mean, sep = "\t")
* 함수 사용해서 생성 (전체)
# 객체 생성
def create_student(name, korean, math, english, science):
return {
"name":name,
"korean": korean,
"math": math,
"english": english,
"science": science
}
def sutdent_sum(student):
return student["korean"]+student["math"]+\
student["english"]+student["science"]
def student_mean(student):
return student_sum(student) / 4
def student_print(student):
return "{}\t{}\t{}".format(student["name"],
score_sum(student),
score_mean(student)
)
students = [
create_student("강명호",80,70,60,100),
create_student("최수원",50,40,100,70),
create_student("이연경",40,70,42,80),
create_student("김유정",42,62,72,86),
create_student("양채연",75,56,52,54),
create_student("박지인",61,78,72,52)
]
print("이름","총점","평균",sep="\t")
for student in students:
print(student["name"], score_sum, score_mean, sep = "\t")
2) 클래스 만들기
# 클래스
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 score_sum(self):
return self.korean + self.math + self.english + self.science
def score_mean(self):
return self.score_sum() / 4
def print_info(self):
print("{}\t{}\t{}".format(self.name, self.score_sum(), self.score_mean()))
students = [
Student("강명호", 80, 70, 60, 100),
Student("최수원", 50, 40, 100, 70),
Student("이연경", 40, 70, 42, 80),
Student("김유정", 42, 62, 72, 86),
Student("양채연", 75, 56, 52, 54),
Student("박지인", 61, 78, 72, 52)
]
print("이름", "총점", "평균", sep="\t")
for student in students:
student.print_info()
3) 메소드 만들기 1
# 메소드
class Student:
def __init__(self, name, kor, math, eng, sci):
self.name = name
self.kor = kor
self.math = math
self.eng = eng
self.sci = sci
# 학생 점수 합을 구하는 메소드
def student_sum(self):
return self.kor + self.math + \
self.eng + self.sci
# 학생 평균 점수 구하는 메소드
def student_mean(self):
return self.student_sum() / 4
# 출력하는 메소드
def student_print(self):
return "{}\t{}\t{}".format(self.name, self.student_sum(), self.student_mean())
students = [
Student("강명호", 80, 70, 60, 100),
Student("최수원", 50, 40, 100, 70),
Student("이연경", 40, 80, 80, 80),
Student("김유정", 80, 90, 70, 50),
Student("양채연", 90, 80, 50, 80),
Student("박지인", 50, 40, 90, 90)
]
print("이름", "총점", "평균", sep = "\t")
for student in students:
print(student.student_print())
4) 메소드 만들기 2
# 메소드
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 score_sum(self):
return self.korean + self.math + self.english + self.science
def score_mean(self):
return self.score_sum() / 4
def print_info(self):
print("{}\t{}\t{}".format(self.name, self.score_sum(), self.score_mean()))
# List of students
students = [
Student("강명호", 80, 70, 60, 100),
Student("최수원", 50, 40, 100, 70),
Student("이연경", 40, 70, 42, 80),
Student("김유정", 42, 62, 72, 86),
Student("양채연", 75, 56, 52, 54),
Student("박지인", 61, 78, 72, 52)
]
# Print header
print("이름", "총점", "평균", sep="\t")
# Print student information
for student in students:
student.print_info()
기타. 복습
1. 5-2
1) 재귀함수
2. 5-3
1) 튜플과 람다
filter = true & false만 가져옴
3. 4-3 // 4-4
1) 반복문
4. 6장
1) 예외 객체 정보 출력
* 핵심
1) 객체, 클래스, 메소드
* 코랩 링크 (직접 글 쓴 당사자만 확인 가능 // 계정 이동해서 확인하기)
* 오늘의 링크
파이썬 코드 시각화 링크.
728x90
반응형
LIST
'배운 책들 정리 > 혼자 공부하는 파이썬' 카테고리의 다른 글
파이썬 머신러닝 판다스 데이터 분석 7 - 머신러닝 데이터 분석 (0) | 2023.05.02 |
---|---|
혼자 공부하는 파이썬 6,7 - 예외 처리, 모듈 (1) | 2023.04.19 |
혼자 공부하는 파이썬 5,6 - 함수 고급, 예외 처리 (1) | 2023.04.18 |
혼자 공부하는 파이썬 5 - 함수 만들기, 함수의 활용 (1) | 2023.04.17 |
혼자 공부하는 파이썬 4 - 문자열, 리스트, 딕셔너리와 관련된 기본 함수(while,range,reversed,enumerate,Counter 등등) (0) | 2023.04.14 |