Today I Learned | 7월27일

juri·2021년 7월 27일
0

TIL

목록 보기
21/25
post-thumbnail

오늘 뭐했지 🏖

1 Code Kata day7
2 Django 복습

1. Code Kata day7

Code Kata day7 👉 링크


Code Kata 보충

1. lambda function : small anonymous function
syntax lambda arguments : expression

def myfunc(n):
    return lambda a : a * n
    
x = myfunc(2)
print(x(11))
#22

2. sorted() : returns a sorted list of the specified iterable object
syntax sorted(iterable, key, reverse)

sorted() vs .sort()

  • sorted() 는 내장함수로 리스트 이외의 모든 iterable을 인수로 받을 수 있다.
    input의 iterable이 아닌 iterable을 정렬해서 만든 새로운 리스트를 반환한다.
  • sort()는 리스트의 메소드함수로 리스트만 인수로 받는다.
    input의 리스트를 정렬해서 반환한다.

딕셔너리에서 sorted() 응용하기

dict = {'a':3, 'b':2, 'c':1}
1. 딕셔너리의 key값 정렬

sorted(dict)
#['a', 'b', 'c']

sorted()를 이용해 딕셔너리를 정렬하면 key값만 반환한다.
sorted(dict.keys())와 동일하다.

2. 딕셔너리의 value값 정렬

sorted(dict.values())
#[1, 2, 3]

딕셔너리의 value값을 지정해서 value값을 반환할 수도 있다.

3. 딕셔너리.items() 정렬

#key값을 기준으로 정렬
sorted(dict.items(), key=lambda x:x[0])
#value값을 기준으로 정렬
sorted(dict.items(), key=lambda x:x[1])

lambda 함수를 사용해서 sorted함수의 키를 지정한다. key로 지정한 값을 기준으로 오름차순 정렬된다.

4. 문자열 정렬
str = ['abc', 'abd', 'bad']

#문자열의 0번 인덱스와 1번 인덱스 순서대로 기준으로 정렬
sorted(str, key=lambda x:(x[0],x[1])
#['abc', 'acd', 'bad']

문자열의 0번 인덱스를 기준으로 정렬한 뒤, 1번 인덱스를 기준으로 다시 정렬한다.
for을 사용해서 x[n]을 돌리면 문자열의 길이만큼 돌리면 마지막 인덱스까지 정렬할 수 있을 거 같음 ㅎ

3. enumerate() : 열거하다/ input의 리스트의 값과 인덱스값을 튜플에 담아서 반환하는 함수

str = ['A', 'B', 'C']

x = enumerate(str)
print(list(x))
#[(0, 'A'), (1, 'B'), (2, 'C')]

2. Django 복습 & 보충 👀

  • decorator의 역할
    사용자가 보낸 토큰을 디코딩해서 해당 사용자의 정보를 실행하고자하는 작업에 사용할 수 있게 한다.
  • dictionary 의 get 메소드
    dict['key'] vs dict.get('key')
dict = {'a', 1 }

print(dict['b']) #오류발생
print(dict.get('b')) #None 반환

json 데이터를 사용하기위해서 딕셔너리에서 정보를 꺼내오는 과정에서 json 데이터에 없는 key값을 사용했을 때 생기는 오류를 방지하기 위해서 get 메소드를 사용한다.

  • jason web token

request 메세지의 headers 에 Authorization 이란 키값과 함께 전송된다.

{ ..

'Authorization' : lafjkjglk(토큰)...

..}

파이썬에서 토큰을 사용할 때 json.loads를 사용하지 않고 그 자체의 데이터를 바로 이용가능하다.

token = request.headers.get('Authorization')
  • 기타 조언
    연우님이 이제까지 장고에서 작성한 코드를 조각조각 면밀히 파헤쳐보라는 꿀팁을 주셨다.
    장고 shell을 지배하는 자 , 장고를 지배하리라 . . ⭐️
profile
Make my day !

0개의 댓글