본문 바로가기

개발일지/Python159

*매우중요 Python class4 - 상속 __str__, __len__ 기본적으로 class는 각 메서드를 정의할때 return 을 사용하는게 올바르며 이유는 자세히 모르겠지만 문자출력은 __str__을 통해서 해야하고 정수 출력은 __len__로 해야하는 것 같다. # durdle 이라는 특수 메서드 # durdle이라는 뜻은 메서드 콜 양쪽에 밑줄이 더블로 들어가는 __init__같은거라고 보면 되는것 같다. # 무엇이 도움이 되고, 무엇이 도움이 안되는지 확인하는 용도로 class를 정의한다고 한다. class Book(): def __init__(self, title, author, pages): self.title = title self.author = author self.pages = pages # 무언가 해당 class를 통해서 글씨로 출력하고 싶은것이 있을때.. 2022. 9. 28.
*매우매우중요 Python 문제풀이12 - class 상속 class의 상속에 관해서는 일단 가장 메인이 되는 class를 만드는건 전혀 문제가 없다. 하지만 상속class부터가 문제다. 나는 원리를 온전히 이해하지 못하고 있다. 상속은 더욱 더 공부가 필요하다. # 문제 코딩 연습 확인사항: 상속 임무: 이름(name)과 종족(species)을 가진 Animal 클래스를 만드세요. 그 클래스에 greet()라는 함수를 만들어 "Hi! My name is {name} and I am a {species}"라는 구문을 출력하세요. 그런 다음, 이 클래스를 사용하여 Cat과 Dog 클래스를 만드세요. 각 클래스는 이름(name)을 인자로 받으며, 이 동물이 일반적으로 내는 소리를 출력하는 sound()라는 메서드를 구현하세요.("ruff"와 같은 문자열로). 힌트:.. 2022. 9. 28.
Python class3 - 상속 # 클래스 상속 class Person(): def __init__(self, first_name, last_name): self.first_name = first_name self.last_name = last_name def hello(self): print('hello') def report(self): print(f'I am {self.first_name} {self.last_name}') x = Person('John', 'Smith') x.hello() # hello x.report() # I am John Smith class Agent(Person): # 상속받은 report를 그대로 사용하지 않고 변형하고 싶을때 # 이런 '오버라이드'를 하면 된다. def report(self): pri.. 2022. 9. 28.
Python 문제11 - class 메서드 정의 후 호출 # 문제 코딩 연습 확인사항: 메서드 임무: 개의 이름, 품종 및 나이를 가진 Dog 클래스를 만드세요. 개의 나이에 7을 곱하여 사람 나이로 계산한 나이를 구하여 결과로 반환하는 calculate_human_age라는 메서드를 정의하세요. calculate_human_age메서드는 self 이외의 인자를 받지 말아야 합니다. 이 클래스를 사용하여 "Hans"라는 7살 짜리 "저먼 셰퍼드"를 만들고, 그 개의 "인간 나이"를 알아보세요. 중요 참고 사항: 위의 임무를 주의 깊게 읽어주세요! 자동화된 코딩 연습 평가 시스템은 정확하게 일치하는 것이 요구되기 때문에 정확하게 동일해야 합니다! 이에 대한 해답은 다음 강의에 있습니다. # 내 코드 답안과 비교했을때, 정의는 정상적으로 잘했다. 하지만 그것을 호.. 2022. 9. 28.