내용:
Member
클래스와 Post
클래스를 정의하세요.Member
클래스에는 다음과 같은 속성을 가지고 있어야 합니다.name
)username
)password
)Member
클래스에는 다음과 같은 메소드를 가지고 있어야 합니다.display
(회원이름과 아이디만 보여주고 비밀번호는 보여줘서는 안됩니다!)Post
클래스에는 다음과 같은 속성을 가지고 있어야 합니다.title
)content
)author
) : 회원의 username
이 저장되어야 함!members
라는 빈리스트에 append를 써서 저장해주세요추가 도전 과제:
평가
class Member:
def __init__(self):
print("인잇 실행중")
class Post:
def __init__(self):
print("인잇 실행중")
Member
클래스에는 다음과 같은 속성을 가지고 있어야 합니다.name
)username
)password
)# 처음에는 빈 값의 속성을 넣고 인스턴스에서 속성 값을 넣는다.
class Member:
name = ''
username = ''
password = ''
def __init__(self):
print("인잇 실행중")
class Post:
def __init__(self):
print("인잇 실행중")
# 회원 인스턴스
m1 = Member()
m1.name = '장현웅'
m1.username = 'Alex'
# m1.password = '123' # 만약 실수로 하나를 빼먹고 줄 수도 있기 때문에 그런 것을 방지하기 위해서
# 애초에 줄 때부터 init함수에서 인스턴스를 만들때
# m1 = Member('장현웅', 'Alex', '123') 이렇게 해서 준다.
class Member:
def __init__(self, name, username, password): # self는 인스턴스 자체, 인스턴스를 생성할 때 자동으로 init함수가 발동되기 때문에 m1자체를 파이썬이 자동으로 준다.
self.name = name # self(인스턴스) 안의 name을 받은 해당 변수 값으로 바꿔준다.
self.username = username
self.password = password
print("인잇 실행중")
class Post:
def __init__(self):
print("인잇 실행중")
m1 = Member('장현웅', 'Alex', '123')
print(m1.username) # Alex
회원 정보를 print해주는 display (회원이름과 아이디만 보여주고 비밀번호는 보여줘서는 안됩니다!)
class Member:
def __init__(self, name, username, password):
self.name = name
self.username = username
self.password = password
print("인잇 실행중")
def display(self):
print(f"회원님의 이름 : {self.name} 아이디 : {self.username}")
class Post:
def __init__(self):
print("인잇 실행중")
m1 = Member('장현웅', 'Alex', '123')
m1.display() # 회원님의 이름 : 장현웅 아이디 : Alex
display(m1) # <__main__.Member object at 0x000001B218608BD0> : 인스턴스 데이터가 저장되어있는 RAM 주소
def __repr__(self):
return self.name
display(m1) # 장현웅
# print는 string으로 출력해주는 함수라서
# display(m1)으로 했을 때는 뭘 보여줘야할지 몰라서 메모리 주소만 보여줌.
# 이 메소드를 사용하면 self(인스턴스) 데이터의 대표 문자열을 설정해줄 수 있다.
Post
클래스에는 다음과 같은 속성을 가지고 있어야 합니다.title
)content
)author
) : 회원의 username
이 저장되어야 함!class Member:
def __init__(self, name, username, password):
self.name = name
self.username = username
self.password = password
def display(self):
print(f"회원님의 이름 : {self.name} 아이디 : {self.username}")
def __repr__(self):
return f"{self.name}님의 회원정보"
class Post:
def __init__(self, title, content, author):
self.title = title
self.content = content
self.author = author
def __repr__(self):
return f"{self.author}님이 작성하신 {self.title}"
m1 = Member('장현웅', 'Alex', '123')
members
라는 빈리스트에 append를 써서 저장해주세요class Member:
def __init__(self, name, username, password):
self.name = name
self.username = username
self.password = password
def display(self):
print(f"회원님의 이름 : {self.name} 아이디 : {self.username}")
def __repr__(self):
return f"{self.name}님의 회원정보"
class Post:
def __init__(self, title, content, author):
self.title = title
self.content = content
self.author = author
def __repr__(self):
return f"{self.author}님이 작성하신 {self.title}"
members = []
m1 = Member('장현웅', 'Alex', '123')
m2 = Member('장준호', 'Max', '123')
m3 = Member('홍서현', 'Lily', '123')
members.append(m1)
members.append(m2)
members.append(m3)
print(members) # [장현웅님의 회원정보, 장준호님의 회원정보, 홍서현님의 회원정보]
for member in members:
print(member.name) # 장현웅 장준호 홍서현
class Member:
def __init__(self, name, username, password):
self.name = name
self.username = username
self.password = password
def display(self):
print(f"회원님의 이름 : {self.name} 아이디 : {self.username}")
def __repr__(self):
return f"{self.name}님의 회원정보"
class Post:
def __init__(self, title, content, author):
self.title = title
self.content = content
self.author = author
def __repr__(self):
return f"{self.author} 작성 : {self.title} {self.content}"
members = []
m1 = Member('장현웅', 'Alex', '123')
m2 = Member('장준호', 'Max', '123')
m3 = Member('홍서현', 'Lily', '123')
members.append(m1)
members.append(m2)
members.append(m3)
posts = []
for member in members:
print(member.name)
p1 = Post('안녕하세요', '잘 부탁드립니다', m1.name)
p2 = Post('Hi', 'Nice to meet you', m1.name)
p3 = Post('Hello', 'Rock', m1.name)
posts.append(p1)
posts.append(p2)
posts.append(p3)
p4 = Post('Yo Check this out', '나는 정상수', m2.name)
p5 = Post('백발백중하는 명사수', '부산진구 유명가수', m2.name)
p6 = Post('일취월장하며 성장중', '내가 대표해 이 거리를', m2.name)
posts.append(p4)
posts.append(p5)
posts.append(p6)
p7 = Post('Super Shy', '슈퍼샤아아', m3.name)
p8 = Post('Hype Boy', '커자아아아', m3.name)
p9 = Post('가시', '크으으대기억이~', m3.name)
posts.append(p7)
posts.append(p8)
posts.append(p9)
print(posts) # [장현웅 작성 : 안녕하세요 잘 부탁드립니다, 장현웅 작성 : Hi Nice to meet you, 장현웅 작성 : Hello Rock,
장준호 작성 : Yo Check this out 나는 정상수, 장준호 작성 : 백발백중하는 명사수 부산진구 유명가수, 장준호
작성 : 일취월장하며 성장중 내가 대표해 이 거리를, 홍서현 작성 : Super Shy 슈퍼샤아아, 홍서현 작성 : Hype
Boy 커자아아아, 홍서현 작성 : 가시 크으으대기억이~]
# 6-1
for post in posts:
if post.author == '장준호':
print(post.title) # Yo Check this out 백발백중하는 명사수 일취월장하며 성장중
# 6-2
certain_word = input()
for post in posts:
if certain_word in post.content:
print(post.title) # 크으으대기억이~ 가시
어어어엄청 어려웠다...