본문 바로가기
Programming/Python

module - 모듈

by Chan_찬 2020. 9. 18.
728x90
반응형

python - module

python 에서 moduledef를 사용하여 정의한다

  • def가 실행되면, 함수의 객체참조가 같이 생성된다
  • return값을 설정하지 않으면 python은 자동으로 None을 반환한다
  • C 언어와 같이, 아무런 값을 반환하지 않는 함수는 procedure(프로시저)라고 부른다

함수가 호출될 때마다 active record(활성화 레코드)가 생성된다

  • 활성화 레코드에는 함수의 정보가 기록되며, 이를 stack에 저장한다함수의 정보 (반환값, 매개변수, 지역변수, 반환주소)

모듈생성 시 주의점 - 모듈의 기본값

모듈을 생성할 때, 함수 또는 매서드에서 가변객체를 기본값으로 사용하면 안된다

# 나쁜 예
def method(number, number_list=[]):
  number_list.append(number)
  return number_list

>>> method(5)  # 예상결과 [5]
[5]
>>> method(3)  # 예상결과 [3]
[5,3]
>>> method(7)  # 예상결과 [7]
[5,3,7]
# 좋은 예
def method(number, nuber_list=None):
  if number_list is None:
    number_list = []
  number_list.append(number)
  return number_list

>>> method(5)  # 예상결과 [5]
[5]
>>> method(3)  # 예상결과 [3]
[3]
>>> method(7)  # 예상결과 [7]
[7]

 

2020/09/21 - [Programming/Python] - package - 패키지

2020/06/12 - [Programming/Python] - 패키지, 모듈, import 에러

 

패키지, 모듈, import 에러

하나의 레포에서 여러 람다 프로젝트 사용하기 . ├── deploy.py ├── requirements-dev.txt ├── requirements.txt ├── lambda-service1 │ ├── __init__.py │ ├── Dockerfile │ ├── server..

chan7ee.tistory.com

 

728x90
728x90
BIG

'Programming > Python' 카테고리의 다른 글

byte-compiled code - python  (0) 2020.09.22
package - 패키지  (0) 2020.09.21
setdefault() - dictionary의 키 존재 상관없이  (0) 2020.09.17
Reverse list - 리스트 역순으로  (0) 2020.09.16
list method 성능 측정  (0) 2020.09.15
Buy me a coffeeBuy me a coffee

댓글