[Python] input() vs. sys.stdin.readline()
Updated:
๐ตinput()
- parameter๋ก prompt message๋ฅผ ๋ฐ์ ์ ์๋ค.
-> prompt message๋ ์๋ฅผ ๋ค์ด ์ ๋ ฅ์ ๋ฐ์ ๋"Input : "๊ณผ ๊ฐ์ ์๋ด ๋ฌธ๊ตฌ๋ฅผ ๊ฐ๋ฆฌํจ๋ค. - prompt message๋ฅผ ์ถ๋ ฅํ ๋ค, ์ฌ์ฉ์์ ์ ๋ ฅ์ ๊ธฐ๋ค๋ฆฐ๋ค.
- ํค๋ณด๋๋ก ์ ๋ ฅ๊ฐ์ ์ฃผ๋ฉด ๋ฐ์ดํฐ๊ฐ ํ๋์ฉ, ( ํค ์ ๋ ฅ ํ๋์ฉ) ๋ฒํผ์ ๋ค์ด๊ฐ๋ค. ๊ฐํ๋ฌธ์(\n)๋ฅผ ๋ฐ์ผ๋ฉด ์ ๋ ฅ์ด ์ข ๋ฃ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค.
- ๋ชจ๋ ์ ๋ ฅ๊ฐ๋ค์ ๋ฌธ์์ด๋ก ๋ณํํ๋ค ๋ฆฌํดํ๋ค.
- ์
๋ ฅ๋ฐ์ ๊ฐ์ ๊ฐํ ๋ฌธ์๋ฅผ ์ญ์ ํ ๋ค ๋ฆฌํดํ๋ค.
-> (๋ฌธ์์ด๋ก ๋ณํ + ๊ฐํ ๋ฌธ์ ์ ๊ฑฐ) ์ถ๊ฐ ์์ ๋ค๋ก ์ธํด ๊ทธ๋งํผ ์๊ฐ์ด ๋ ์ค๋ ๊ฑธ๋ฆฐ๋ค.
๐ตsys.stdin.readline()
- parameter๋ก prompt message๋ฅผ ๋ฐ์ง ์๋๋ค.
- ํค๋ณด๋๋ก ์
๋ ฅ๊ฐ์ ์ฃผ๋ฉด ํ ๋ฒ์ ์ฝ์ด์ ๋ฒํผ์ ์ ์ฅํ๋ค.
-> ํ๋์ฉ ์ ์ฅํ๋ input() ๋ณด๋ค ์๋๊ฐ ๋ ๋น ๋ฅด๋ค. - ๊ฐํ ๋ฌธ์๋ฅผ ํฌํจํด์ ๋ฆฌํดํ๋ค. ๋ฐ๋ผ์ ๊ฐํ ๋ฌธ์๋ฅผ ์์ ๋ ์์
์ ๋ฐ๋ก ํด์ค์ผ ํ๋ค.
- strip() ํจ์๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.
- strip() : ๋ฌธ์์ด ์๋ค์ ๊ณต๋ฐฑ ๋๋ ํน๋ณํ ๋ฌธ์ ์ญ์
- rstrip() : ๋ฌธ์์ด ์ค๋ฅธ์ชฝ(๋ค)์ ์๋ ๊ณต๋ฐฑ ๋๋ ํน๋ณํ ๋ฌธ์ ์ญ์
- lstrip() : ๋ฌธ์์ด ์ผ์ชฝ(์)์ ์๋ ๊ณต๋ฐฑ ๋๋ ํน๋ณํ ๋ฌธ์ ์ญ์
- strip() ํจ์๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.
- ๋ํ ์
๋ ฅ ํฌ๊ธฐ์ ์ ํ์ ๋ฌ์ ํ ๋ฒ์ ์ฝ์ด๋ค์ผ ๋ฌธ์์ ์๋ฅผ ์ง์ ํ ์ ์๋ค.
input_ = sys.stdin.readline(2) hihi >>> input_ 'hi'
๐ง๐พโโ๏ธ
์
๋ ฅ์ด ๋ฐ๋ณต๋ ์๋ก sys.stdin.readline()์ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์ฌ ์๋๊ฐ ๋น ๋ฅด๋ค.
์ฝํ
๋ฌธ์ ๋ฅผ ํ ๋๋ ์๋๊ฐ ์ค์ํ๋ sys.stdin.readline()์ ์จ์ผ๊ฒ ๋ค !
Leave a comment