Web/django & python

    [Python] list(input()), list[a:b]

    Input() 에 list를 씌우면 어떻게 저장될까? input() 에 문자를 입력하면 str로 저장된다. list(input()) 이렇게 list 형식으로 설정하면 한 글자씩 원소로 배열에 담긴다. import sys word = list(sys.stdin.readline().rstrip()) #hi my name is 어랍숑 print(word) >> ['h', 'i', ' ', 'm', 'y', ' ', 'n', 'a', 'm', 'e', ' ', 'i', 's', ' ', '어', '랍', '숑'] 배열에 index를 통해 원소 바꾸기 나는 원소를 바꾸기 위해 replace 함수를 생각했다. 하지만, 리스트의 인덱스를 활용해서 바꿔줄 수 있다. 단 주의할 점은 인덱스 개수와 바꾸려는 글자 개수가 ..

    [Python] 함수 isalnum() , isalpha()

    .isalnum() 알파벳(한글 포함) or 숫자로만 이루어져 있으면 True, 아니면 False 공백, 특수문자 포함되면 안됨 .isalpha() 알파벳(한글 포함)으로만 이루어져있으면 True, 아니면 False text1 = 'abc' text2 = 'ㄱㄴㄷ' text3 = 'ㄱㄴㄷabc' text4 = 'ㄱㄴㄷabc123' text5 = 'ㄱㄴㄷabc123!@#' text6 = 'ㄱㄴㄷabc123!@# ' print(text1.isalnum()) print(text2.isalnum()) print(text3.isalnum()) print(text4.isalnum()) print(text5.isalnum()) print(text6.isalnum()) print(text1.isalpha()) prin..

    [Python] input, sys.stdin.readline 차이점

    궁금하면 내일 이 시간에 ㅋ

    [Python] split 함수

    split 함수를 쓰면 리스트로 담긴다 name = 'first.middle.last' #구분자 없이 call = name.split() print(call) #구분자 포함 call = name.split('.') print(call) >> ['first.middle.last'] >> ['first','middle','last'] 리스트로 담기기 때문에 원하는 것만 따로 불러낼 수 있음 Ex) BOJ/백준 20291 - 파일 정리 여기서 뒤에 파일 확장자명만 필요하다. split 함수를 이용해 확장자명만 바로 받아보자. array = [] for _ in range(int(input())): extens = input().split('.')[1] array.append(extens) print(array..

    [Python] 리스트(list) 원소들 문자열(str)로 합치기

    리스트 원소들을 문자열로 합치기 위해선 ''.join(리스트이름) 을 사용한다. 구분자 없이 alph=['d','y','l','a','n'] name=''.join(alph) print(name) >> dylan 구분자 포함 alph=['d','y','l','a','n'] name='-'.join(alph) print(name) >> d-y-l-a-n

    [Python] 딕셔너리(dictionary) 값 추가, 삭제, key 또는 value 불러오기

    딕셔너리 값 추가 딕셔너리는 기본적이로 key:value 형식으로 저장된다. 딕셔너리에 새로운 key와 value를 선언해주면 값이 추가된다. fruits={'banana':'yellow'} fruits['tomato']='red' print(fruits) >> {'banana':'yellow', 'tomato':'red'} 딕셔너리 값 삭제 딕셔너리에서 값을 삭제하기 위해선 del을 사용한다. 이때 key를 불러서 삭제한다. #fruits = {'banana':'yellow', 'tomato':'red'} del fruits['tomato'] print(fruits) >>. {'banana':'yellow'} 딕셔너리 key 불러오기 딕셔너리에서 key만 모아서 다루려면 [ 딕셔너리이름.keys() ]..

    [Django] Form으로 checkbox의 value 전달을 위한 submit : button vs input

    2학기 본격적인 프로젝트를 시작하기 전 다들 django를 상기시킬 겸 github으로 협업하는 것을 익힐 겸 간단한 사이드 프로젝트를 하기로 했다. 하지만 결코 간단하지가 않았다. 사실 그렇게 어려운 건 아닌데 잠깐 쉬는 사이 코딩 지식이 휘발돼서일 것이다. 쉬더라도 매일 매일 조금씩 코드를 쳐보는 것이 좋을 것 같다. 우리는 많은 사람들이 만드는 mbti 테스트와 결이 비슷하게 일종의 테스트 사이트를 만들기로 했다. 여기서 나는 백엔드 파트를 맡아서 테스트 알고리즘을 짜는 부분을 맡았다. 점수 계산은 models.py에 각 질문과 답변들을 등록하고, 각 답변에 점수도 할당하고 checkbox로 답변을 체크하면 value값을 가져와서 views.py에서 총 점수를 계산하여 result.html 페이지에..

    Django - 클래스형 뷰 CBV (Class-Based View)

    Django의 CRUD를 작성하기 위해 views.py에서 함수(def)를 이용하여 작성한다. 하지만 Django의 class를 이용하면 함수의 코드도 더욱 간단해지고 효율적이게 된다. 기존의 def 구성을 class로 수정해보기에 앞서 CBV가 뭔지 알아보자. 이 페이지에 있는 모든 설명을 지금 이해하기에는 한계가 있을 수 있다. 그러니 세션에서 진행했던 부분을 다시 따라가면서 이해해보자. CBV는 기존의 def와 크게 ①urls.py 작성법과 ②views.py 작성법에 차이가 있다. ①urls.py -차이점 1 url로 항목의 id값을 받을 때 def는 로 받은 반면, CBV는 로 받는다. -차이점 2 def는 views.index 로 연결해주었지만, CBV는 views.index.as_view()로..