1 Mon

[HEAD FIRST PYTHON] 4강 함수와 모듈

함수

  • defreturn 이라는 두 가지 키워드를 사용

    • 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 sdist

    • python setup.py sdist

    • python setup.py sdist --formats=gztar, zip

  • 단계 3 : 배포 파일 설치하기

    • py -3 -m pip install vsearch-1.0 zip

    • python -m pip install vsearch-1.0 zip

함수의 인자 전달

  • 값으로 전달 또는 레퍼런스로 전달하는 두 가지 방법이 있다

  • 이러한 방법은 사용자가 정의하는 것이 아니라 변수의 mutable한 속성을 통해 정의된다.

  • mutable variable : list, set, dict, ...

  • immutable variable : constant, string, tuple, ...

Last updated

Was this helpful?