Django 기초 정리
https://sogummi.tistory.com/68
알고리즘 문제시트
프로그래머스 문제 풀이
문자열 정렬하기 (1), (2)중복된 문자제거 대문자와 소문자인덱스 바꾸기배열의 유사도숫자 찾기머쓱이보다 키 큰 사람오늘 풀이 한 목록!
풀이 한 문제들은 모두 코딩테스트 카테고리에 풀이 업로드 하였다.
Today I Learned
(1)
flask에서 Django로 넘어왔다.
Page not found (404)
Request Method:Request URL:GET |
http://127.0.0.1:8000/test/ |
Using the URLconf defined in firstproject.urls, Django tried these URL patterns, in this order:
- admin/
The current path, test/, didn’t match any of these.
test/ 경로를 만들어서 접속했는데 404가 떴다. admin/ url만 존재하고 test/ url은 존재하지 않는다는 의미
-> 저장하지 않고 실행시켜서 404가 뜬 단순한 오류이지만 오류메세지로 통해 어떤 url을 필요로 하는 지 알게되었다.
+) URL 패턴을 등록할 때에는 URLconf파일에서 순서를 유의해서 등록해야한다. 가장 일반적인 URL패턴부터 등록하고, 더 구체적인 URL패턴은 나중에 등록하는 것이 좋다.
(2)
터미널 턴 게임 코드리뷰를 받았던 부분을 개선해서 튜터님께 찾아갔고, 그에 대한 조언을 받았다.
클래스 객체 생성 시
class T:
player_name = input()
player_dict = {
"1": Magician,
"2": Knight,
"3": Thief
}
a = T[1](player_name)
위 코드 처럼 딕셔너리 밖에서 객체 생성을 하도록 해줘야한다.
만약 딕셔너리 값으로 클래스 생성자에 인자를 전달하여 생성된 객체를 할당하는 경우에는, 딕셔너리에서 동일한 생성자를 호출하여 생성된 객체를 참조하게 되기 때문
python
Copy code
class T:
def __init__(self, player_name):
self.player_name = player_name
class Magician(T):
pass
class Knight(T):
pass
class Thief(T):
pass
player_name = input()
player_dict = {
"1": Magician(player_name),
"2": Knight(player_name),
"3": Thief(player_name)
}
a = player_dict["1"]
b = player_dict["1"]
위 코드에서 player_dict 딕셔너리의 값으로 각각 Magician(player_name), Knight(player_name), Thief(player_name)를 할당하여 객체를 생성해보았다. 이때 생성자 Magician, Knight, Thief의 인자로 player_name을 전달하면서 객체를 생성한다. 이렇게 생성된 객체는 각각 player_dict 딕셔너리의 값으로 할당되고, a와 b가 같은 객체를 참조하게 되는 것이다.
'내일배움캠프 > 내일배움캠프 TIL' 카테고리의 다른 글
내일배움캠프 AI 5기 TIL 18일차 (0) | 2023.04.05 |
---|---|
내일배움캠프 AI 5기 TIL 17일차 (2) | 2023.04.04 |
내일배움캠프 AI 5기 TIL 15일차 (0) | 2023.03.31 |
내일배움캠프 AI 5기 TIL 14일차 (2) | 2023.03.30 |
내일배움캠프 AI 5기 TIL 13일차 (0) | 2023.03.29 |