๐Ÿ’ป [Python] ๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ

haejun-kimยท2020๋…„ 6์›” 19์ผ
1
post-thumbnail

Python์œผ๋กœ ๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ(CLI) - Part.1

ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ์•„์ฃผ ๊ฐ„๋‹จํ•œ ๋””์ง€ํ„ธ ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž
์‚ฌ์‹ค, ํŒŒ์ด์ฌ์˜ eval ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

eval()

์œ„ ํ•จ์ˆ˜๋Š” python์˜ built-in ํ•จ์ˆ˜๋กœ์จ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‚ด์žฅ๋˜์–ด ์žˆ๋Š” ํ•จ์ˆ˜์ด๋‹ค.
eval ํ•จ์ˆ˜๋Š” string type์˜ data๋ฅผ ๊ณ„์‚ฐ ๊ฐ€๋Šฅํ•œ ์‹์œผ๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š” ์•„์ฃผ ๊ฐ•๋ ฅํ•œ ํ•จ์ˆ˜์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž

s = input("๊ณ„์‚ฐ์‹ ์ž…๋ ฅ")
print("๊ฒฐ๊ณผ: {}".format(eval(s)))

s ๋ผ๋Š” ๋ณ€์ˆ˜์— input()์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ณ„์‚ฐํ•˜๊ณ ์ž ํ•˜๋Š” ์‹์„ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ๋ฐ›๋Š”๋‹ค.

์‹คํ–‰ ๊ฒฐ๊ณผ

์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ณ„์‚ฐ ์‹์„ ์‚ฌ์น™ ์—ฐ์‚ฐ ์ˆœ์„œ์— ๋”ฐ๋ผ์„œ ๊ณ„์‚ฐํ•ด์ฃผ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
์ด์ฒ˜๋Ÿผ python ์—์„œ๋Š” eval() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๊ฐ„๋‹จํžˆ ์†์‰ฝ๊ฒŒ ๋””์ง€ํ„ธ ๊ณ„์‚ฐ๊ธฐ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ, ์œˆ๋„์šฐ ๊ณ„์‚ฐ๊ธฐ์—์„œ ์œ„์˜ ์˜ˆ์ œ์—์„œ ์‚ฌ์šฉํ•œ ์‹์„ ๋˜‘๊ฐ™์ด ์ž…๋ ฅํ•ด๋ณด๋„๋ก ํ•˜์ž

์‚ฌ์น™ ์—ฐ์‚ฐ ์ˆœ์„œ?

์œˆ๋„์šฐ ๊ณ„์‚ฐ๊ธฐ๋Š” ์‚ฌ์น™์—ฐ์‚ฐ์˜ ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ์ž…๋ ฅ๊ฐ’์˜ ์ˆœ์„œ๋Œ€๋กœ ๊ณ„์‚ฐ์„ ํ•˜๊ณ  ์žˆ๋‹ค.

๋ฌผ๋ก , ๊ด„ํ˜ธ๋ฅผ ๋„ฃ์„ ๊ฒฝ์šฐ ์‚ฌ์น™์—ฐ์‚ฐ์— ๋งž๋Š” ์ˆœ์„œ๋กœ ๊ณ„์‚ฐ์ด ๋œ๋‹ค. ๋˜ํ•œ ํ‘œ์ค€ ๊ณ„์‚ฐ๊ธฐ๊ฐ€ ์•„๋‹Œ ๊ณตํ•™์šฉ์ด๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ์šฉ ๋“ฑ์˜ ๊ณ„์‚ฐ๊ธฐ๋Š” ์‚ฌ์น™์—ฐ์‚ฐ์— ๋งž๊ฒŒ ๊ณ„์‚ฐ์ด ๋˜๋Š”๊ฑธ ํ™•์ธํ–ˆ๋‹ค.
(Mac์˜ ๊ธฐ๋ณธ ๊ณ„์‚ฐ๊ธฐ๋Š” ์‚ฌ์น™์—ฐ์‚ฐ ์ˆœ์„œ์— ๋งž๊ฒŒ ๊ณ„์‚ฐ ๋˜๋”๋ผ)


์‚ฌ์น™ ์—ฐ์‚ฐ์˜ ์ˆœ์„œ์— ๋งž๊ฒŒ ์ถœ๋ ฅ๋˜๋Š” ๊ณ„์‚ฐ๊ธฐ๋Š” eval() ๋ผ๋Š” ๋‚ด์žฅ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํžˆ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ์œผ๋‹ˆ, ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ ์ˆœ์„œ๋Œ€๋กœ ๊ณ„์‚ฐํ•ด์ฃผ๋Š” ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด ๋ณผ ์˜ˆ์ •์ด๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€