#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http 제목list를 함수의 입력파라메터로 하면서 default 처리를 원할때2019-04-08 21:59작성자drsungwon 좋은 질문 입니다 ^^.설명이 잘된 다음 사이트를 가서, 앞의 부분을 잘 읽어 보세요.https://docs.python-guide.org/writing/gotchas/ 결론적으로는,, python은 함수의 입력 파라메타에 해당하는 데이타를 하나 만들어서 계속 재사용 합니다.그런데 list의 경우는 이때 빈 입력파라메타를 계속 주면, 기존의 것을 계속 재사용하는 특성이 발생하고,본인이 궁금해한 현상이 나옵니다.이렇게 동작하는 것도 언어의 특징 중 하나이니 뭐라 할순 없고, 원하는 결과를 얻는 방향으로 수정해야지요.아래의 예제를 수행해 보면서, id()를 통한 메모리 추적 등을 이해해 보세요.def any_function1(any_number = 1): print(">>",any_number,":", id(any_number)) any_number += 1 return any_numberdef any_function2(any_list = None): if any_list is None: print(">> list is empty") any_list = [1] else: print(">>", any_list, ":", id(any_list), ":", len(any_list)) any_list.append(1) return any_listdef any_function3(any_string = ""): print(">>", any_string, ":", id(any_string)) any_string += '1' return any_stringprint("Case.1")print(any_function1(2))print(any_function1(4))print(any_function2([10]))print(any_function2(["hello"]))print(any_function3("cat"))print(any_function3("dog"))print("Case.2")print(any_function1())print(any_function1())print(any_function2())print(any_function2())print(any_function3())print(any_function3()) 목록답변글쓰기 댓글 [1] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전python default argument values화목반2019-04-08다음term project proposal 양식 관련하여 질문이 있습니다.뿡뿡이2019-04-08 Powered by MangBoard | 워드프레스 쇼핑몰 망보드