250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 딥러닝
- python
- 2021
- 리뷰
- leetcode
- Codestates
- 재미져
- 꾸준히
- 노마드코더
- selenium
- 선형회귀
- 열심히
- MYSQL
- 주간보고
- 코드스테이츠
- 코딩테스트
- JavaScript
- 매일매일
- 기초통계
- Ai
- 자료구조
- bootcamp
- 파이썬
- pandas
- yolo
- 독서
- 부트캠프
- SQL
- 빅데이터
- 성실히
Archives
- Today
- Total
코딩일기
[python] 객체지향 프로그래밍2(follower, following code) 본문
728x90
반응형
안녕하십니까 다제입니다.
지난 시간에는 객체와 객체지향프로그래밍의 정의와 클래스를 통해 속성을 만들어보는 시간을 갖었습니다.
오늘은 지난 시간에 말씀드린 follow 시스템을 구현 해보도록 하겠습니다.
현업에서도 이러한 코드를 사용하는지는 알 수는 없지만, 그래도 __init__을 이해하는데 도움이 된다 생각하여 이렇게 직접 코드를 작성해보았습니다.
# 먼저 클래스를 선언해야합니다.
class User:
def __init__(self, name, email): # __init__는 인스턴스가 생성될 때 자동으로 호출됨
self.name = name # 호출될때 인자가 2개 인지 꼭 확인을 하고 첫번째로 오는 인지를 이름으로 인지함
self.email = email # 두번째로 들어오는 인자를 이메일로 인지함
# follw 함수 정의
# user가 another를 팔로워하면 followers_list 넣어줌
# another가 user를 팔로잉하면 following_list 넣어줌
def follow(self, another):
self.followers_list.append(another)
another.following_list.append(self)
# follow함수를 통해 append된 데이터를 받기 위해 사전에 준비하는 빈 리스트
self.followers_list = []
self.following_list = []
# followers_list의 len를 확인하여 리턴해줍니다. 인스타그램 위에 팔로워 수 보이는 것 처럼요
def count_followers(self):
return len(self.followers_list)
# following_list의 len를 확인하여 리턴해줍니다. 인스타그램 위에 팔로잉 수 보이는 것 처럼요
def count_following(self):
return len(self.following_list)
# 우리의 유저들을 생성해주겠습니다. 모두 임의로 막 만든 정보들입니다.
user1 = User("홍", "qweqwe@gmail.com")
user2 = User("asd", "asdasd@gmail.com")
user3 = User("zxc", "zxczxc@gmail.com")
user4 = User("dfgdfg", "dfgdfg@gmail.com")
user5 = User("234234", "sdfsdf@gmail.com")
user6 = User("sdffgh", "dfggfhj@gmail.com")
user7 = User("sdfsdf", "sdffgh@gmail.com")
user8 = User("sdf345", "qweqwe@gmail.com")
user9 = User("sdfjk09", "ljk8@gmail.com")
user10 = User("qweqsdfswe", "qweq890ijuwe@gmail.com")
# 팔로워를 우리가 직접해줘보겠습니다.
user1.follow(user2)
user1.follow(user3)
user1.follow(user4)
user1.follow(user5)
user1.follow(user6)
user1.follow(user7)
user1.follow(user8)
user1.follow(user9)
user3.follow(user10)
user4.follow(user9)
user5.follow(user8)
user6.follow(user7)
user7.follow(user6)
user8.follow(user5)
user9.follow(user4)
user10.follow(user3)
# user1, user2, user3만 확인해보겠습니다!
print(user1.name, user1.count_followers(), user1.count_following())
print(user2.name, user2.count_followers(), user2.count_following())
print(user3.name, user3.count_followers(), user3.count_following())
이렇게 간단하게 팔로워, 팔로잉 class를 만들어보았습니다.
해당 코드는 참고하실 수 있도록 리플링크를 아래 공유 드립니다.
보는 것과 안보고 이해한 내용을 바탕으로 코드를 직접 작성하는 것은 많이 달랐습니다.
화이팅입니다. 오늘도 방문해주셔서 감사합니다.
728x90
반응형
'Code > 기타' 카테고리의 다른 글
[Codestates 부트캠프] Git checkout, merge, fetch 배우기 (0) | 2021.03.04 |
---|---|
[Codestates] Git add, commit, remote, push 배우기 (0) | 2021.03.04 |
[Django] ORM 이란? (feat. object relational mapping) (0) | 2021.01.31 |
[노마드코더] React.js moive-app clone codeing( feat. 클론 코딩 ) (0) | 2021.01.25 |
[노마드코더] Django airbnb clone project(feat. 클론 코딩) (0) | 2021.01.18 |