Self-Improvement
Head First Python 4장 본문
*vsearch.py 모듈 정의 예제
linux에서 작성함
#! /usr/bin/python3
#phrase는 string이며 호출코드로 집합을 반환한다.(어노테이션)
def search4vowels(phrase: str) -> set:
"""Returns the set of vowels found in 'phrase'.""" #docstring이라하여해당 함수의 설명문이다.
return set('aeiou').intersection(set(phrase)) #set()으로 집합을 만들며 인자로받은 phrase와의 교집합하여 return으로 반환한다.
#phrase는 string, letters의 인자는 string이며 초기값이 설정되어있다.(인자를 아무거나 넣어도 초기값으로 실행이되어짐)
def search4letters(phrase: str, letters: str='aeiou') -> set:
"""Returns the set of 'letters' found in 'phrase'."""
return set(letters).intersection(set(phrase))
--------------------------------------------------
※어노테이션 : 어노테이션을 설정함으로 프로그래머 입장에서 함수코드를 통해 인자와 반환값의 유형을 확인할 번거로움이 사라진다.
* 정의한 모듈 사용법
정의한 모듈을 사용할려면 모듈이 존재하는 디렉터리내에서 진행을 해야한다.
*모듈을 배포파일로 만들어주는 예제
해당부분은 kali에서가 아닌 윈도우에서 진행하였다.
from setuptools import setup #setuptools 모듈에서 setup 함수를 임포트한다.
setup(
name='vsearch',
version='1.0',
description='The Head First Python',
py_modules=['vsearch'], #패키지에 포함할 .py파일을 정의
)
---------------------------------------------------
setup.py와 vsearch.py가 같은 디렉터리에 있어야하며 위의 명령어를 통해 배포파일이 만들어진다.
dist파일과 vsearch.egg-info 두가지가 생성이 되어진다.
disk 파일안에는 압축파일이 들어가있다.
'프로그래밍 > Python' 카테고리의 다른 글
python request 모듈 (0) | 2018.10.21 |
---|---|
Head First Python 5-1장 (0) | 2018.10.21 |
Head First Python 3장 (0) | 2018.10.21 |
Head First Python 2장 (0) | 2018.10.21 |
Head First Python 1장 (0) | 2018.10.21 |