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) 재귀함수
혼자 공부하는 파이썬 5 - 함수 만들기, 함수의 활용
5장 함수 1. 함수 만들기 1) 기본 매개변수, 가변매개변수 *기본 매개변수 # 기본 매개변수 def printntimes(value, n): # n번 반복하는 반복문 for i in range(n): # value를 출력 print(value) # "안녕하세요"를 5번 출
gurobig.tistory.com
2. 5-3
1) 튜플과 람다
filter = true & false만 가져옴
혼자 공부하는 파이썬 5,6 - 함수 고급, 예외 처리
5장 함수 5-3. 함수 고급 1) 튜플, 람다 * 튜플 - 리스트는 요소 변경이 가능하지만 튜플은 요소 변경이 불가능 - 그리고 튜플은 ()를 사용 (리스트는 [] 사용하지만) - 사용법은 리스트와 같음 - []은
gurobig.tistory.com
3. 4-3 // 4-4
1) 반복문
혼자 공부하는 파이썬 4 - 반복문(조건문 응용(if), dict, list, 이중for문, range, while문)
4장 반복문 1. 리스트와 반복문 1) for 반복문 a = [[1,2,3],[4,5,6],[7,8,9],10] for i in a: if type(i) == list: for j in i: print(j) else: print(i) 이중 포문에 대한 이해 필요 2) append() 함수와 전개 연산자의 차이 append() :
gurobig.tistory.com
4. 6장
1) 예외 객체 정보 출력
혼자 공부하는 파이썬 6,7 - 예외 처리, 모듈
6장 예외 처리 1. 구문 오류와 예외 1) 확인 문제 379 p * 1번 (구문 오류와 예외 처리의 차이점은?) // Syntax Error & Exception 에러 구문 오류는 if 조건을 걸어서 특정 상황이 되었을 때 에러 처리를 하는
gurobig.tistory.com
* 핵심
1) 객체, 클래스, 메소드
* 코랩 링크 (직접 글 쓴 당사자만 확인 가능 // 계정 이동해서 확인하기)
Google Colaboratory Notebook
Run, share, and edit Python notebooks
colab.research.google.com
* 오늘의 링크
파이썬 코드 시각화 링크.
Python Tutor code visualizer: Visualize code in Python, JavaScript, C, C++, and Java
Please wait ... your code is running (up to 10 seconds) Write code in Python 3.6 C (gcc 9.3, C17 + GNU) C++ (g++ 9.3, C++20 + GNU) Java 8 JavaScript ES6 ------ Python 2.7 [unsupported] Visualize Execution hide exited frames [default] show all frames (Pytho
pythontutor.com
'배운 책들 정리 > 혼자 공부하는 파이썬' 카테고리의 다른 글
파이썬 머신러닝 판다스 데이터 분석 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 |