1.
class Movie :
# 클래스 변수 total_num, movie_class
total_num = 0
movie_class = 'Movie'
movie_name = []
# 초기화를 위한 함수. 인스턴스 변수 설정
def __init__(self, name, actor, review, score) :
self.name = name
self.actor = actor
self.review = review
self.score = score
# 클래스 변수 호출할 때 (클래스명.클래스변수)
# 인스턴스가 생성될 때마다 증가할 수 있도록 설정
Movie.total_num += 1
# 어떤 것을 수정할 지 골라주는 과정
def update(self) :
select_ = input('무엇을 변경하실건가요? (제목, 배우, 리뷰, 별점 중 하나)')
if select_ == '제목' :
name = input('어떻게 변경하실건가요? ')
self.name = name
elif select_ == '배우' :
actor = input('어떻게 변경하실건가요? ')
self.actor = actor
elif select_ == '리뷰' :
review = input('어떻게 변경하실건가요? ')
self.review = review
else :
score = input('몇점으로 변경하실건가요? ')
self.score = score
print('변경이 완료되었습니다.')
# 영화명.all() 을 입력할 때 전체 내용 출력할 수 있도록 표현
def all(self) :
print("제목 :", self.name)
print("배우 :", self.actor)
print("리뷰 :", self.review)
print("별점 :", self.score)
패터슨 = Movie('패터슨', '아담 드라이버', '아하!', 4.5)
패터슨.all()
[결과화면]
2. 해당 클래스를 활용하여 자신이 좋아하는 3개의 영화를 리뷰한 인스턴스를 만들어주세요. 인스턴스.all() 명령어로 호출도 해보세요.
3. for문을 이용하여 위에서 리뷰한 영화 3개를 한꺼번에 출력해보세요.
#이를 위해 클래스 변수 movie_name을 리스트로 만들어줌.
# __init__ 메소드에서 클래스 변수 movie_name에 name, actor, review, score 영화정보가 들어가게 만들어줌.
4. 위에서 리뷰한 영화 3개의 평균별점을 구해보세요.
-5. Movie 클래스로 작성된 리뷰의 총 개수를 확인하는 클래스메소드 count_review_num()을 작성해주세요. 실행결과는 아래와 같습니다.
클래스 메소드로 추가해줌. (클래스 메소드는 첫번째 매개변수로 cls받음)
6. 위에서 만든 Movie 클래스를
- update 메소드로 호출하면 영화이름은 조회만 할 수 있고 수정은 할 수 없도록 Movie 클래스를 수정해주세요.
- 이후 호출시 movie_class 클래스변수를 출력하는 static method staticMovie() 를 만들어주세요
(1) 변경해줌.
(2) staticmethod staticMovie() 메소드 추가해줌.
[출력 화면]
7. 다시 5번 문항의 코드를 활용하여 update 메소드로 가장 마지막 영화의 영화제목 뒤에 2를 넣어 수정 후 확인해주세요.
8. Movie 클래스를 상속받은 KoreanMovie 클래스를 정의하고
클래스변수로 class_name = '한국영화'를, 생성시 입력되어야 하는 값으로 director(감독)을 추가해주세요.
새 인스턴스를 만들 때에는 아래와 같은 값이 입력되며 속성들을 확인할 수 있어야 합니다.
~~~
jigu = KoreanMovie('지구를지켜라', '신하균', '장준환', '5', '내리 7번 본 어릴적 최고의 영화')
~~~
[결과화면]