신입 자라기 33일 차
Task Logging
시간 | Task |
6 : 50 | 기상 |
7 : 10 ~ 8 : 10 | 출근 시간 |
8 : 10 ~ 9 : 10 | 헬스 |
9 : 10 ~ 9 : 30 | 샤워 |
9 : 30 ~ 9 : 50 | 출근시간 1. 폰 망가짐 |
9 : 50 ~ 10 : 10 | 1. 짐정리 2. 티타임 |
10 : 10 ~ 11 : 30 | 1. @ 문서 작성 2. @ 신청서 작성 3. @ 문제 코드 확인 |
11 : 30 ~ 12 : 45 | 점심 시간 1. 배민 |
12 : 45 ~ 18 : 00 | 1. 객체 인스턴스 분석 및 수정 2. 개발 방향성 피드백 3. 간식 타임 |
18 : 00 ~ 18 : 50 | 저녁 시간 |
18 : 50 ~ 20 : 30 | 1. 배운거 정리 2. Base 코드 분석 |
20 : 30 ~24 : 00 | 망가진 폰 해결하기 |
24 : 00 ~ 25 : 00 | 1. 블로그 포스팅 |
파이썬 zip함수를 이용해서 dictonary 만들기
d = dict(zip([’a’, ‘b’], [1, 2]))
d = {'a' : 1 , 'b' : 2}
@property 데코레이터
- 데코레이터 함수
- getter/setter를 필드처럼 접근하는 방법
- 변수 앞에 '_'을 붙이는 이유 :자바처럼 private 접근 지정자가 있는 것은 아니며, '_'를 붙이는 것으로 개발자끼리 private변수라고 간주함
getter/setter
1. getter : 값을 get(받다)하는 놈
2. setter : 값을 set(정하다)해주는 놈
getter/setter 예시
# getter, setter
class Animal:
def __init__(self):
self._name = 'lion'
def get_animal(self):
return self._name
def set_animal(self, value):
self._name = value
# 출력
# animal = Animal()
# animal.set_animal = 'tiger'
# print(animal.get_animal())
'tiger'
- getter/setter를 대신하는 property 데코레이터 예시
- 가독성이 좋아지는데 개인 취향에 따라 쓰자
# @property
class Animal:
def __init__(self):
self._name = 'lion'
@property
def animal(self):
return self._name
@animal.setter
def animal(self, value):
self._name = value
# 출력
# a = Animal()
# a.animal = 'tiger'
# print(a.animal)
'tiger'
그래서 setter/getter/@property 이런 것을 왜 하냐?
- 캡슐화 때문이다
- 즉, 연관된 속성과 행위를 하나의 클래스로 묶고 실제 구현 내용을 외부에 노출되지 않도록 감추기 위함
- 외부에 노출되지 않도록 *를 붙여서 private 변수로 지정했음. ex)_name)*
- 이러한 private변수에 접근할 수 있게 getter/setter 같은 함수를 사용해 접근함
'Study > 신입 자라기' 카테고리의 다른 글
[Study] 신입 자라기 - 35 (0) | 2022.03.31 |
---|---|
[Study]신입 자라기 - 34 (0) | 2022.03.30 |
[Study]신입 자라기 - 32 (0) | 2022.03.26 |
[Study]신입 자라기 - 31 (0) | 2022.03.25 |
[Study]신입 자라기 - 30 (0) | 2022.03.24 |