파이썬 문법/파이썬 기초 문법

파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 10.클래스

파기차차 2022. 12. 3. 13:17
728x90
반응형
SMALL
728x90
반응형

ㅁ 개요

 

O 소개
 

 - 우리는 파이썬 문법(문제 풀이)을 처음부터 하나씩 모두 살펴보기 보다는 주제별 주요 문제를 풀어봄으로써 핵심 문법을 빠르게 체득할 수 있도록 하고, 이를 통해 실전에 바로 써먹을 수 있도록 할 것입니다.

 

 


 

O 우리의 목표
 

 

 - 아래 표에서 나는 어느 위치에 있는지 한번 생각해 보시기 바랍니다.
레벨
별칭
등급
설명
나는 어디에?
파이썬 문외한
별칭 없음
0,1
0등급 :  파이썬에 대하여 들어본 적 없음, 아무것도 모름
1등급 : 파이썬에 대하여 들어봄, 아주 초보적인 문법을 아는 정도
 
파이썬 유치원생
하수
2,3
2등급 : 파이썬 문법을 일부 알고 있으나, 활용을 전혀 하지 못함
3등급 : 파이썬 문법을 알고 있으나, 활용을 거의 하지 못함
 
파이썬 초등학생
평민
4,5
4등급 : 파이썬 문법을 알고 있으며, 이를 활용하여 일부 간단한 프로그램(텍스트 계산기 등)을 만드는 수준
5등급 : 파이썬 문법을 알고 있으며, 이를 활용하여 일부 간단한 프로그램(텍스트 계산기 등)을 만들고 간단한 응용(계산기에 기능 추가 등)을 할 수 있는 수준
 
파이썬 중학생
중수
6
6등급 : 파이썬 문법을 알고 있으며, 이를 활용하여 기존 프로그램(텍스트 계산기 등)을 만들고 응용(GUI 계산기 등) 할 수 있는 수준
 
파이썬 고등학생
고수
7
7등급 : 파이썬 문법을 알고 있으며, 이를 활용하여 새로운 프로그램(검색 프로그램 등)을 만들고 응용(GUI 검색 프로그램 등) 할 수 있는 수준
 
파이썬 대학생
지존
8
8등급 : 파이썬 문법을 알고 있으며, 이를 활용하여 새로운 프로그램(검색 프로그램 등)을 만들고 응용(GUI 검색 프로그램 등) 할 수 있으며, 사용자의 편의성, 프로그램의 속도, 성능적 측면도 고려할 수 있는 수준
 
파이썬 대학원생
레전드
9
9등급 : 파이썬 문법을 알고 있으며, 이를 활용하여 새로운 프로그램(검색 프로그램 등)을 만들고 응용(GUI 검색 프로그램 등) 할 수 있으며, 사용자의 편의성, 프로그램의 속도, 성능적 측면을 고려하고 프로그램 UI도 준수하게 만들어 낼 수 있는 수준
 
파이썬 박사
10
10등급 : 파이썬으로 새로운 것을 자유자재로 만들어내는데 어려움이 없으며, 독창적이고 창의적이며, 사용자 편의성, 아름다운UI, 속도, 성능, 마케팅까지 모든 면에서 독보적이고 유니크한 탑클래스 능력을 보유한 수준
 
 
 

 


 - 우리는 우리의 파이썬 레벨을 최고 수준(지존, 레전드, 갓)으로 달성하기 위해 빠르게 한걸음씩 나아갈 것입니다.

 - 아래 기초 문법을 모두 이해하시면 파이썬유치원생(하수)을 탈출 하실 수 있습니다.
 즉, 이후부터는 간단한 프로그램 개발이 가능하며, 레벨이 빠르게 올라 가실 수 있을 것입니다.

 

 


 



O 문제 (10.클래스)

 

# 10. 클래스

class Person:
    name = '홍길동'

    def say_hello(self):
        print("안녕! 나는 " + self.name, " 입니다.")

1) 위와 같은 클래스가 있습니다. 객체를 생성 후 say_hello() 메소드(함수)를 호출하는 명령을 실행해 보세요.




class Car:
    color = ""
    speed = 0

    def __init__(self, color, speed): # 생성자
        self.color = color
        self.speed = speed

    def upSpeed(self, value):
        self.speed += value

    def downSpeed(self, value):
        self.speed -= value

    def getColor(self):
        return self.color
    
    def getSpeed(self):
        return self.speed

2) 위와 같은 Car클래스가 있습니다. Car클래스의 색상을 'Red', 속도를 30으로 초기화한 객체를 생성해 보세요.



3) 위에서 만든 객체의 upSpeed(30) 메소드를 호출하고 이를 출력해 보세요.



4) 새로운 Car 객체를 생성하고, 색상을 'Blue', 속도를 60으로 초기화 해보세요. 
그리고 새로 생성된 객체의 getColor() 메소드와 getSpeed() 메소드를 호출하여 출력해 보세요.


5) 인스턴스 변수와 클래스 변수의 차이를 이해해 보세요.
class Car:
    color = ""
    speed = 0
    count = 0

    def __init__(self):
        self.speed = 0 # 인스턴스 변수
        Car.count += 1 # 클래스 변수

# 클래스 인자 전달 방법
class Person2:
    def __init__(self, user, age):
        self.user = user
        self.age = age

    def say_hello2(self, to_name):
        print("안녕! " + to_name + " 나는 " + self.user + "이야")

    def introduce(self, to_name):
        print("안녕! " + to_name + " 나는 " + self.user + " 그리고" + str(self.age) + " 살이야")

yonga = Person2("영아", 20)
sua = Person2("수아", 20)
youjin = Person2("유진", 25)

6) 아래 출력시 결과값을  예상해 보세요(실제 명령을 실행하지 말고 일단 예측 후 실행결과와 비교해 보세요.)
sua.say_hello2("보람")

youjin.introduce("진수")




7) 아래에서 Person2 클래스를 상속 받은 Police 클래스와 Programmer클래스를 만들어 보세요.
# 클래스 상속
# () <-- 이 부분을 채워넣어 보세요.
class Police():
    def arrest(self, to_arrest):
        print("넌 체포됐다, " + to_arrest)

class Programmer():
    def Program(self, to_Program):
        print("다음엔 뭘 만들지? 아 이걸 만들어야 겠다!" + to_Program)

jina = Person2("지나", 17)
sora = Police("소라", 21)
miss = Programmer("미스", 25)


8) 아래 출력시 결과값을 예상해 보세요(실제 명령을 실행하지 말고, 일단 예측 후 실행결과와 비교해 보세요.)
jina.introduce("수잔")

sora.arrest("길동")

miss.introduce("두산")

miss.Program("이메일 클라이언트")

 

 

 

O 모범 답안

 

 - 답안을 보기전에 스스로 풀어 보셨나요?

 - 답안을 보기전에 반드시 스스로 풀어보시고, 내가 푼 내용과 맞는지 확인하기 위한 용도로만 답안을 보셔야 실력이 향상될 수  있습니다.

 

 - 모범 답안은 아래 링크에서 확인 가능합니다.

2022.12.03 - [파이썬 문법/파이썬 기초 문법] - 파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 10.클래스(답안)

 
728x90
반응형
LIST