(Python 2-4๊ฐ•) String and advanced function concept

210802

String

  • ๋ฌธ์ž์—ด, ์‹œํ€€์Šค ์ž๋ฃŒํ˜•์œผ๋กœ ๋ฌธ์žํ˜• data๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•œ๋‹ค

  • ์˜๋ฌธ์ž ํ•œ ๊ธ€์ž๋Š” 1byte์˜ ๋ฉ”๋ชจ๋ฆฌ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • ๋ฌธ์ž์—ด์˜ ๊ฐ ๋ฌธ์ž๋Š” ๊ฐœ๋ณ„์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๋ฉฐ ์ด ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ด ํ• ๋‹น๋œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ์ธ๋ฑ์‹ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค

  • List์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค

ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐฉ์‹

๊ฐ’์— ์˜ํ•œ ํ˜ธ์ถœ

  • ํ•จ์ˆ˜์— ์ธ์ž๋ฅผ ๋„˜๊ธธ ๋•Œ ๊ฐ’๋งŒ ๋„˜๊น€

  • ํ•จ์ˆ˜ ๋‚ด์— ์ธ์ž ๊ฐ’ ๋ณ€๊ฒฝ ์‹œ, ํ˜ธ์ถœ์ž์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Œ

์ฐธ์กฐ์— ์˜ํ•œ ํ˜ธ์ถœ

  • ํ•จ์ˆ˜์— ์ธ์ž๋ฅผ ๋„˜๊ธธ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋„˜๊น€.

  • ํ•จ์ˆ˜ ๋‚ด์— ์ธ์ž ๊ฐ’ ๋ณ€๊ฒฝ ์‹œ, ํ˜ธ์ถœ์ž์˜ ๊ฐ’๋„ ๋ณ€๊ฒฝ๋จ

๊ฐ์ฒด ์ฐธ์กฐ์— ์˜ํ•œ ํ˜ธ์ถœ

  • ํŒŒ์ด์ฌ์€ ๊ฐ์ฒด์˜ ์ฃผ์†Œ๊ฐ€ ํ•จ์ˆ˜๋กœ ์ „๋‹ฌ๋˜๋Š” ๋ฐฉ์‹

  • ์ „๋‹ฌ๋œ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ๋ณ€๊ฒฝ ์‹œ ํ˜ธ์ถœ์ž์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ๋‚˜, ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ๊ฒฝ์šฐ ํ˜ธ์ถœ์ž์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Œ

def spam(eggs):
    eggs.append(1) # ๊ธฐ์กด ๊ฐ์ฒด์˜ ์ฃผ์†Œ๊ฐ’์— [1] ์ถ”๊ฐ€
    eggs = [2, 3] # ์ƒˆ๋กœ์šด ๊ฐ์ฒด ์ƒ์„ฑ
    
ham = [0]
spam(ham)
print(ham) # [0, 1]

๋ณ€์ˆ˜์˜ ๋ฒ”์œ„

์ง€์—ญ๋ณ€์ˆ˜

  • ํ•จ์ˆ˜๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ

์ „์—ญ๋ณ€์ˆ˜

  • ํ”„๋กœ๊ทธ๋žจ์ „์ฒด์—์„œ ์‚ฌ์šฉ

  • ์ „์—ญ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜์—์„œ ์ธ์ž์ „๋‹ฌ ์—†์ด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

    • ๊ทธ๋Ÿฌ๋‚˜ ๋™์ผํ•œ ์ด๋ฆ„์˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ฉด ์ง€์—ญ๋ณ€์ˆ˜๋ฅผ ์šฐ์„ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค

    • ๋˜ํ•œ, ํ•จ์ˆ˜์—์„œ ์ „์—ญ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋‹ค.

    • ์ˆ˜์ •ํ•  ์‹œ์—๋Š” ๋ฐ˜๋“œ์‹œ global ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค

Dynamic typing

์ฒ˜์Œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ interface๋ฅผ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ type hints ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค

  • ์žฅ์ 

    • ์‚ฌ์šฉ์ž์—๊ฒŒ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ช…ํ™•ํžˆ ์•Œ๋ ค์ค„ ์ˆ˜ ์žˆ๋‹ค.

    • ํ•จ์ˆ˜์˜ ๋ฌธ์„œํ™”์‹œ parameter์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ช…ํ™•ํžˆ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

    • mypy ๋˜๋Š” IDE, linter ๋“ฑ์„ ํ†ตํ•ด ์ฝ”๋“œ์˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•œ ์˜ค๋ฅ˜๋ฅผ ์‚ฌ์ „์— ํ™•์ธ

    • ์‹œ์Šคํ…œ ์ „์ฒด์ ์ธ ์•ˆ์ •์„ฑ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค.

Last updated

Was this helpful?