전체 방문자
오늘
어제
이대코
ServerNeverDown
이대코
  • 분류 전체보기 (109)
    • Project (9)
      • GASIP_대학 커뮤니티 (5)
      • CATCHROOM_야놀자중고숙박거래 (2)
      • CANCER-FINE_암환자를 위한 정보 제공 사.. (2)
    • Development (46)
      • Python (9)
      • Java (8)
      • Kotlin (1)
      • Spring&Springboot (4)
      • BootCamp (10)
      • DevOps (1)
      • TrobleShooting (6)
      • Network (1)
      • DataBase (2)
      • OS (1)
      • Design Pattern (2)
    • Coding Test (51)
      • BOJ (1)
      • DFS,BFS (4)
      • 그리디 알고리즘 (6)
      • Dynamic Programming (2)
      • 이진 탐색 (0)
      • 초보자를 위한 파이썬 300제 (29)
      • 구현 (9)
    • Stock (3)
      • Market View (2)
      • Analysis of stocks (0)
      • Knowledge (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

인기 글

hELLO · Designed By 정상우.
이대코

ServerNeverDown

Coding Test/초보자를 위한 파이썬 300제

[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(251~260)_12.22

2022. 12. 22. 17:03

안녕하세요. Harry입니다.

 

현재 풀이중인 초보자를 위한 파이썬 300제 풀이를 진행하면서 나름대로 파악했던 문제 출제 의도와 풀이를 작성했습니다.

모든 풀이는 직접 Pycharm을 통해 에러없이 출력됨을 확인 후 작성했습니다.

 

초보자를 위한 파이썬 300제 풀이는 Wikidocs에 무료로 배포된 전자책을 활용했습니다/

https://wikidocs.net/book/922

[학습목표]

1. 각 문제별 요구하는 역량(출제의도)이 무엇인지 파악할 수 있다.

2. 각 문제별 요구하는 기술 및 기능을 활용하여 문제를 해결할 수 있다.

 

251 ~ 260

251 클래스, 객체, 인스턴스

클래스, 객체, 인스턴스에 대해 설명해봅시다. 

- 요구역량 : 각각의 정의와, 사용 이유, 차이점을 알고 있는가?

 

 정답확인
- 클래스 : 변수와 메서드의 집합
- 객체 : 클래스로 출력한 하나의 값

- 인스턴스 : 클래스(class)의 객체(object)가 소프트웨어에 실체화..된 것..? 이게 무슨말...

252 클래스 정의

비어있는 사람 (Human) 클래스를 "정의" 해보세요. 

- 요구역량 : 클래스를 정의할 수 있는가?

 

 정답확인
class Human:
    pass

253 인스턴스 생성

사람 (Human) 클래스의 인스턴스를 "생성" 하고 이를 areum 변수로 바인딩해보세요.

- 요구역량 : 생성한 클래스를 변수로 바인딩할 수 있는가? = 인스턴스를 생성할 수 있는가?

인스턴스라는 건 결국, 생성된  클래스를 특정 변수로 바인딩하는 것?!

 

 정답확인
class Human:
    pass

areum = Human()

254 클래스 생성자-1

사람 (Human) 클래스에 "응애응애"를 출력하는 생성자를 추가하세요.

- 요구역량 : 실제 동작하는 함수를 포함한 클래스를 생성할 수 있는가?

class 선언

def __init__(self): 작성 <----클래스 내 함수 정의 시 필수

class 내 함수 선언 시, def 함수명(self):로 작성. 

>>> areum = Human()
응애응애
 정답확인
class Human:
    def __init__(self):
        print("응애응애")

areum = Human()

255 클래스 생성자-2

사람 (Human) 클래스에 (이름, 나이, 성별)을 받는 생성자를 추가하세요. 

- 요구역량 : 클래스를 생성하고 클래스의 출력값을 정의할 수 있는가?

클래스,,헷갈린다,,,개념적으로 좀 더 잡을 필요가 ,,,

>>> areum = Human("아름", 25, "여자")
 정답확인
class Human:
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex
        self.info = name,age,sex

areum = Human("아름", 25, "여자")
print(areum.info)
 

256 인스턴스 속성에 접근

255에서 생성한 인스턴스의 이름, 나이, 성별을 출력하세요. 인스턴스 변수에 접근하여 값을 출력하면 됩니다.

- 요구역량 : 클래스를 생성하고 클래스의 출력값을 정의할 수 있는가?

이름: 조아름, 나이: 25, 성별: 여자

인스턴스 변수에 접근하여 값을 가져오는 예

>>> areum.age
25
 정답확인
class Human:
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex
        self.info = name,age,sex

areum = Human("아름", 25, "여자")
print(areum.info)

257 클래스 메소드 - 1

사람 (Human) 클래스에서 이름, 나이, 성별을 출력하는 who() 메소드를 추가하세요.

- 클래스 내 신규 메서드를 정의하고 출력할 수 있는가?

>>> areum.who()
이름: 조아름, 나이: 25, 성별: 여자
 정답확인
class Human:
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex

    def who(self):
        print("이름: {} 나이: {} 성별: {}".format(self.name, self.age, self.sex))

areum = Human("아름", 25, "여자")

258 클래스 메소드 - 2

사람 (Human) 클래스에 (이름, 나이, 성별)을 받는 setInfo 메소드를 추가하세요.

- 요구역량 : 특정 인스턴스에 정보를 채워줄 수 있는 함수를 가진 클래스를 생성할 수 있는가?

>>> areum = Human("모름", 0, "모름")
>>> areum.setInfo("아름", 25, "여자")
 정답확인
class Human:
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex

    def who(self):
        print("이름:",self.name)

    def setinfo(self,name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex

259 클래스 소멸자

사람 (human) 클래스에 "나의 죽음을 알리지 말라"를 출력하는 소멸자를 추가하세요.

- 요구역량 : 클래스 내 함수 정의서 __~~~__ 를 활용하는 특수 메서드에 대한 특징을 알고  활용할 수 있는가?

>>> areum = Human("아름", 25, "여자")
>>> del areum
나의 죽음을 알리지 말라
 정답확인
class Human:
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex

    def who(self):
        print("이름:",self.name)

    def setinfo(self,name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex

    def __del__(self):
        print("나의 죽음을 알리지마라")

260 에러의 원인

아래와 같은 에러가 발생한 원인에 대해 설명하세요.

class OMG : 
    def print() :
        print("Oh my god")

>>> >>> myStock = OMG()
>>> myStock.print()
TypeError Traceback (most recent call last)
<ipython-input-233-c85c04535b22> in <module>()
----> myStock.print()

TypeError: print() takes 0 positional arguments but 1 was given
 정답확인

- def print(): 괄호안에 self 인자가 빠졌기 때문!

 

클래스,,너무 헷갈립니다..좀 더 공부를 하고 와야겠다는 생각이 듭니다. 아직 머리속에서 각 요소가 연결이 안되네요 ㅠㅠ

 

감사합니다.

저작자표시 비영리 변경금지 (새창열림)

'Coding Test > 초보자를 위한 파이썬 300제' 카테고리의 다른 글

[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(271~280)_12.23  (0) 2022.12.23
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(261~270)_12.22  (0) 2022.12.22
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(241~250)_12.22  (0) 2022.12.22
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(231~240)_12.21  (0) 2022.12.21
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(221~230)_12.21  (0) 2022.12.21
    'Coding Test/초보자를 위한 파이썬 300제' 카테고리의 다른 글
    • [독학 파이썬] 초보자를 위한 파이썬 300제 풀이(271~280)_12.23
    • [독학 파이썬] 초보자를 위한 파이썬 300제 풀이(261~270)_12.22
    • [독학 파이썬] 초보자를 위한 파이썬 300제 풀이(241~250)_12.22
    • [독학 파이썬] 초보자를 위한 파이썬 300제 풀이(231~240)_12.21
    이대코
    이대코
    20대에 대장암 걸린 코틀린/자바 백엔드 개발자의 블로그입니다.

    티스토리툴바