본문 바로가기

배운 책들 정리/혼자 공부하는 파이썬

혼자 공부하는 파이썬 8 - 객체, 클래스, 메소드 // 복습

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) 튜플과 람다

 

map & filter

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

 

 

 

 

 

728x90
반응형
LIST