본문 바로가기

method3

module - 모듈 python 에서 module 은 def를 사용하여 정의한다 def가 실행되면, 함수의 객체와 참조가 같이 생성된다 return값을 설정하지 않으면 python은 자동으로 None을 반환한다 C 언어와 같이, 아무런 값을 반환하지 않는 함수는 procedure(프로시저)라고 부른다 함수가 호출될 때마다 active record(활성화 레코드)가 생성된다 활성화 레코드에는 함수의 정보가 기록되며, 이를 stack에 저장한다함수의 정보 (반환값, 매개변수, 지역변수, 반환주소) 모듈생성 시 주의점 - 모듈의 기본값 모듈을 생성할 때, 함수 또는 매서드에서 가변객체를 기본값으로 사용하면 안된다 # 나쁜 예 def method(number, number_list=[]): number_list.append(num.. 2020. 9. 18.
decorator - 데커레이터 decorator 패턴은 '@'표기를 사용해 함수 또는 메서드의 변환을 우아하게 지정해준다 '함수의 객체'와 '함수를 변경하는 다른 객체'의 wrapping을 허용한다 @deco def method(arg): # method... pass decorator 를 사용한 위 코드는 아래코드와 같다 def method(arg): # method... pass method = deco(method) import functools import time def print_time_func(func): @functools.wraps(func) def wrapper(*args, **kargs): st = time.time() res = func(*args, **kargs) print(f'{func.__name__}: .. 2020. 9. 12.
[redirect, forward] java controller method에서 다른 ?.do 를 실행하는 방법 forward @RequestMapping(value="/A.do") public String methodA(HttpServletRequest req) throws Exception{ return "forward:/B.do"; } request(한번 호출) -> A -> B A에서의 request parameter 들을 B에서 사용할 수 있다. redirect @RequestMapping(value="/A.do") public String methodA(HttpServletRequest req) throws Exception{ return "redirect:/B.do"; } request -> A -> request -> B A에서의 request parameter 들을 B에서 사용할 수 없다. 2015. 6. 11.