๐ŸInput VS sys.stdin.readline

dev_itzel_02โœจยท2024๋…„ 7์›” 23์ผ

๐ŸPython Knowledge

๋ชฉ๋ก ๋ณด๊ธฐ
3/5
post-thumbnail

๋ฐฑ์ค€์—์„œ ๋ฌธ์ œํ’€์ด๋ฅผ ํ•  ๋•Œ ์‹œ๊ฐ„์ œํ•œ์ด ์กด์žฌํ•˜๋Š”๋ฐ, python์˜ ๊ฒฝ์šฐ input๊ณผ sys.stdin.readline ์ž…์ถœ๋ ฅ ๋ฐฉ์‹ ๊ฐ„์— ์‹คํ–‰์‹œ๊ฐ„ ์ฐจ์ด๊ฐ€ ๋‚œ๋‹ค. ์–ด๋–ค ์ฐจ์ด์ผ๊นŒโ“

โŒจ๏ธInput(๋‚ด์žฅํ•จ์ˆ˜)

python 3.x์—์„œ input์€ ์ž…๋ ฅ ๊ฐ’์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ›๋Š”๋‹ค.

# Python 3.7
# input()

intInput = input("Integer input : ")
print(type(intInput))

stringInput = input("String input : ")
print(type(stringInput))

# ๊ฒฐ๊ณผ
Integer input : 10
<class 'str'>
String input : python
<class 'str'>

3.x ๋ฒ„์ „์—์„œ๋Š” ๋ชจ๋“  ๋ณ€์ˆ˜๊ฐ€ ๊ฐ์ฒด(object)๋กœ ์ฒ˜๋ฆฌ๋จ์— ๋”ฐ๋ผ์„œ ๊ฒฐ๊ณผ ๊ฐ’๋„ type์—์„œ class๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค.

โ–ซ๏ธ ํŠน์ง•

  • input()์ด ํ˜ธ์ถœ๋˜๋ฉด ์ธ์ž๋กœ ์ฃผ์–ด์ง„ ๋ฌธ์ž๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๊ณ  ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.
intInput = input("Integer input : ")

# ๊ฒฐ๊ณผ
Integer input : 10
  • ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ๊ทธ์— ๋Œ€์‘ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ํ•˜๋‚˜์”ฉ ๋ฒ„ํผ์— ๋“ค์–ด๊ฐ„๋‹ค.
    (*๋ฒ„ํผ: ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋ฒ„ํผ๋ผ๋Š” ์ž„์‹œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•จ)

  • ๊ฐœํ–‰ ๋ฌธ์ž(\n)๋Š” ์ž…๋ ฅ์˜ ์ข…๋ฃŒ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.

  • ๋ฌด์—‡์„ ์ž…๋ ฅํ•˜๋“  ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์ค„ ๋ฐ”๊ฟˆ์„ ์ œ๊ฑฐํ•œ ๋’ค ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

  • ๋” ์ด์ƒ ๋ฐ›์„ ์ž…๋ ฅ์ด ์—†์„ ๋•Œ ์ˆ˜ํ–‰๋  ๊ฒฝ์šฐ EOF(End Of File) error๋ฅผ ์ผ์œผํ‚จ๋‹ค.

๐Ÿ‘‰๐Ÿผ ํŒŒ์ด์ฌ ๊ณต์‹๋ฌธ์„œ ์ฐธ๊ณ 

โŒจ๏ธsys.stdin.readline(ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ)

  • input()๊ณผ ๋‹ฌ๋ฆฌ ๋ฌธ์ž๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์—†๋‹ค (์ธ์ž๋ฅผ ๋ฐ›์ง€ ์•Š์Œ).

  • ํ•œ ๋ฒˆ์— ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ธ€์ž ์ˆ˜ ํฌ๊ธฐ์— ๋Œ€ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๊ธ€์ž ์ˆ˜๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ํ•œ ๋ฒˆ์— ์ฝ์–ด์™€ ๋ฒ„ํผ์— ์ €์žฅํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ•˜๋‚˜์”ฉ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒ„ํผ์— ์ €์žฅํ•˜๋Š” input() ๋ณด๋‹ค ๋น ๋ฅด๋ฉฐ ์ž…๋ ฅ์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ์ฐจ์ด๊ฐ€ ๋”์šฑ ์ปค์ง„๋‹ค.

  • ๋” ์ด์ƒ ๋ฐ›์„ ์ž…๋ ฅ์ด ์—†์„ ๋•Œ ์ˆ˜ํ–‰๋œ ๊ฒฝ์šฐ ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

  • ๊ฐœํ–‰๋ฌธ์ž๊นŒ์ง€ ํฌํ•จํ•˜์—ฌ ๋ฒ„ํผ์— ์ €์žฅํ•œ๋‹ค. strip() or rstrip()์„ ์‚ฌ์šฉํ•ด ๊ฐœํ–‰๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•œ๋‹ค.

๐Ÿ‘ŒResult

input()์€ ๋ฌธ์ž์—ด ๋ณ€ํ™˜, ์ค„ ๋ฐ”๊ฟˆ ์ œ๊ฑฐ ๋“ฑ ์ถ”๊ฐ€์ ์ธ ๊ณผ์ •์ด ์žˆ๊ณ , ๋ฐ์ดํ„ฐ๊ฐ€ ํ•˜๋‚˜ ์”ฉ ๋ฒ„ํผ์— ๋“ค์–ด๊ฐ€๋Š” ๋ฐ˜๋ฉด sys.stdin.readline()์€ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜, ์ค„ ๋ฐ”๊ฟˆ ๊ณผ์ •์ด ์—†์œผ๋ฉฐ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ ๋ฒˆ์— ๋ฒ„ํผ์— ๋“ค์–ด๊ฐ€๋ฏ€๋กœ sys.stdin.readline()์ด input() ๋ณด๋‹ค ๋น ๋ฅด๋‹คโ—

๐ŸพReferences

profile
๐Ÿœ๐Ÿ‘ฃsteadiness๐Ÿœ๐Ÿ‘ฃ

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