Python(52)
-
[Python Django] 기본 개념
장고(Django )란? 파이썬으로 작성된 오픈 소스 웹 프레임춰크로, 모델-뷰-컨트롤러(MVC)패턴으로 되어있다. 콤포넌트의 재사용성(reusability), 플러그인화 가능성 (pluggability), 빠른 개발을 강조하며 중복 배제의 원리(DRY: Don't repeat yourself)를 따르고있다. 특징 구성 파이썬으로 코딩한 모델을 관계형 데이터베이스로 구축해주는 모델(Model), HTTP요청을 처리하는 웹 템플릿 시스템인 뷰(View), URL의 라우팅을 처리하는 URL 컨트롤러(Controller)로 구성된 MVC패턴을 따른다 모델 모델은 데이터에 관한 정보를 담는다. 각각의 모델은 데이터베이스에서 테이블에 해당한다. 뷰 어떤 데이터가 표시될지를 정의한다. 뷰는 HTTP 응답을 반환한다..
2022.03.23 -
[Python] *args, **kwargs 란?
*args란? arguments의 줄임말로 인수를 말합니다. 여러 개의 인자를 함수로 받고자 할 때 사용합니다. 꼭 args가 아닌 다른 이름으로 받아도 됩니다. 앞에 *를 붙여주면 복수의 인자를 받습니다. args는 tuple형태로 전달됩니다. def print_names(*args): for name in args: print(name) print('>> 한개의 인자') print_names('가나다') print('>> 두개의 인자') print_names('가나다', '라마바') print('>> 세개의 인자') print_names('가나다', '라마바', '사아자') print('>> 타입 출력') print(type(args)) # 결과 >> 한개의 인자 가나다 >> 두개의 인자 가나다 라마..
2022.03.19 -
[Python] 예외처리 try/except, raise
try / except 에러코드 발생 시 취할 액션에 대해 정의해 줄 수 있다. user = User.objects.get(id=3) 다음 코드에서 id=3인 user가 없는 경우 DoesNotExist를 출력하며 동작을 멈추게 된다. 사용자가 없다면 그에 맞는 액션을 취해야 하지 페이지 에러를 내면 곤란한 경우가 많기 때문에 다음과 같이 예외처리를 해주어야 한다. 주로 데이터베이스에서 데이터를 가져올 때 비슷한 상황이 많이 발생하는데, filter를 사용한다던가 몇 가지 방식이 있지만, 결국엔 데이터가 없을 경우 예외처리는 필요하므로 상황에 맞게 사용하면 좋을 것 같다. 이 코드를 예외처리해주는 코드는 다음과 같다. DoesNotExist 에러가 발생할시 login페이지로 보내주는 코드이다. try: ..
2022.03.19 -
[Python] 문자열 관련 함수 : 문자열 분해, 결합, 변환 관련 함수
문자열 분해 관련 함수 split() 문자열을 구분자의 기준으로 나누어 list 형태로 반환한다 {문자열}.split(sep='매개변수') sep= 생략가능 구분자를 생략하면 공백으로 나누며, 연속된 공백은 하나의 공백으로 처리한다 구분자를 생략하지 않고 " "공백으로 연속된 공백을 빈값으로 리스트에 넣는다 a = "hi, my, name" print(a.split(sep=", ")) # 구분자 seperator 지정 print(a.split(", ")) # sep= 생략 print(a.split()) # 구분자 생략하면 공백으로 나눔, 공백이 중복 될 경우에도 하나의 공백으로 처리 b = "hi my name" print(b.split()) # 구분자를 생략하면 두개의 공백을 하나로 처리 print(b..
2022.03.19 -
[Python] 문자열 관련 함수 : 공백 관련 함수
공백 존재 여부 관련 함수 isspace() 문자열이 공백으로만 이루어져 있는지 확인하는 함수 a = " " b = " s " print("a.isspace() >>> ", a.isspace()) print("b.isspace() >>> ", b.isspace()) # result a.isspace() >>> True b.isspace() >>> False 공백 제거 관련 함수 strip() 문자열 앞뒤공백을 제거 a = " s " print("a >>> '" + a + "'") print("a.strip >> '" + a.strip() + "'") # result a >>> ' s ' a.strip >> 's' lstrip() 문자열 앞쪽(왼쪽) 공백을 제거 a = " s " print("a >>> '..
2022.03.19 -
[Python] 문자열 관련 함수 : 대소문자 관련 함수
대소문자 판단 islower() 문자열이 모두 소문자인가 여부를 boolean값으로 반환 print("I Love You >> ", "I Love You".islower()) print("i love you >> ", "i love you".islower()) result I Love You >> False i love you >> True isupper() 문자열이 모두 대문자인가 여부를 boolean값으로 반환 print("I Love You >> ", "I Love You".isupper()) print("I LOVE YOU >> ", "I LOVE YOU".isupper()) result I Love You >> False I LOVE YOU >> True istitle() 문자열이 제목 형식인지..
2022.03.19