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 : ๋ฐฐํฌ ์„ค๋ช… ๋ฌธ์„œ ๋งŒ๋“ค๊ธฐ

'''setup.py'''
from setuptools import setup

setup(
    name='vsearch',
    version='1.0',
    description='The Head First Python Search Tools',
    author='HF Python 2e',
    author_email='hfpy2e@gmail.com',
    url='headfirstlabs.com',
    py_modules=['vsearch'],
  • ๋‹จ๊ณ„ 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?