1 Mon
[HEAD FIRST PYTHON] 4강 함수와 모듈
함수
def와return이라는 두 가지 키워드를 사용def: 함수와 함수의 인자를 정의return: 선택사항. 함수를 호출한 코드에 되둘려줄 값을 정의return의 개수는 가변적이며, 상수 뿐만 아니라 리스트 등의 자료구조도 반환 가능
기존 다른언어와 다른점은, 인자 타입을 정의하지 않아도 된다는 점
그러나, 가독성을 위해 다음과 같이 인자 타입을 정의할 수 있다
이를 어노테이션, annotation 이라고 한다.
변수의 타입은
: type으로 명시한다.함수의 반환 타입은
-> type :으로 명시한다.
def greeting(name: str) -> str:
return 'Hello ' + name반복되는 코드를 사용해야 할 때 사용
함수 내부에 주석으로 사용되는 docstring이 포함될 수 있다.
' ' '또는 " " "로 문자열을 표현하며 혼용하지 않고 써야한다.
파이썬에서는 " " " 를 권고.
인자의 기본값, default를 정의할 수 있다.
def search4letters(phrase:str, letters:str='aeiou') -> set:search4letters("hello", "o") = { o }search4letters("hello") = { e, o }
위치 할당 & 키워드 할당
def search4letters(phrase:str, letters:str='aeiou') -> set:기본적으로 함수에 인자를 할당할 때는 정의한 순으로 할당한다 => phrase, letters 순
search4letters("p", "a")=>phrase = "p",letters ="a"
키워드로 할당할 때는 순서를 무시할 수 있다
serach4letters(letters="a", phrase="p")
모듈 배포
https://docs.python.org/ko/3.10/distutils/sourcedist.html
단계 1 : 배포 설명 문서 만들기
단계 2: 배포 파일 만들기
py -3 setup.py sdistpython setup.py sdistpython setup.py sdist --formats=gztar, zip

단계 3 : 배포 파일 설치하기
py -3 -m pip install vsearch-1.0 zippython -m pip install vsearch-1.0 zip

함수의 인자 전달
값으로 전달 또는 레퍼런스로 전달하는 두 가지 방법이 있다
이러한 방법은 사용자가 정의하는 것이 아니라 변수의 mutable한 속성을 통해 정의된다.
mutable variable : list, set, dict, ...
immutable variable : constant, string, tuple, ...
Last updated
Was this helpful?