๐Ÿค” Python Input & Output

Ohyuchanยท2023๋…„ 7์›” 21์ผ
0

๐Ÿง‘๐Ÿปโ€๐Ÿ’ป Python Language

๋ชฉ๋ก ๋ณด๊ธฐ
12/13
post-thumbnail

๐Ÿ“ ์‚ฌ์šฉ์ž ์ž…์ถœ๋ ฅ


์šฐ๋ฆฌ๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์™„์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์€ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ๋”ฐ๋ผ ๊ทธ์— ๋งž๋Š” ์ถœ๋ ฅ์„ ๋‚ด๋ณด๋‚ธ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ ๊ฒŒ์‹œํŒ์— ๊ธ€์„ ์ž‘์„ฑํ•œ ํ›„ [ํ™•์ธ] ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์•ผ๋งŒ(์ž…๋ ฅ) ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•œ ๊ธ€์ด ๊ฒŒ์‹œํŒ์— ์˜ฌ๋ผ๊ฐ€๋Š”(์ถœ๋ ฅ) ๊ฒƒ์„ ๋“ค ์ˆ˜ ์žˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ํ•จ์ˆ˜ ๋ถ€๋ถ„์—์„œ ์ž…์ถœ๋ ฅ์ด ์–ด๋–ค ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๋Š”์ง€ ์•Œ์•„๋ณด์•˜๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” ์ข€ ๋” ๋‹ค์–‘ํ•œ ์ž…์ถœ๋ ฅ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ž‘์„ฑํ•˜์˜€๋‹ค.

๐Ÿ‘‰ ํ‘œ์ค€ ์ž…๋ ฅ(Standard Input)


Python ์—์„œ๋Š” input() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

name = input("์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”: ")
print("์•ˆ๋…•ํ•˜์„ธ์š”, " + name + "๋‹˜!")

โ‡ฒ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋„์›Œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ๋ฐ›๊ธฐ

์‚ฌ์šฉ์ž์—๊ฒŒ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ โ€˜์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”โ€™๋‚˜ โ€˜์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”โ€™๋ผ๋Š” ์•ˆ๋‚ด ๋ฌธ๊ตฌ ๋˜๋Š” ์งˆ๋ฌธ์„ ๋ณด์—ฌ ์ฃผ๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋Ÿด ๋•Œ๋Š” input()์˜ ๊ด„ํ˜ธ ์•ˆ์— ์•ˆ๋‚ด ๋ฌธ๊ตฌ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋„์›Œ ์ฃผ๋ฉด ๋œ๋‹ค.

input("์•ˆ๋‚ด_๋ฌธ๊ตฌ")

๋‹ค์Œ ์˜ˆ๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•ด ๋ณด์ž.

>>> number = input("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”: ")
์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:

๊ด„ํ˜ธ ์•ˆ์— ์ž…๋ ฅํ•œ ๋ฌธ๊ตฌ๊ฐ€ ํ”„๋กฌํ”„ํŠธ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.

โ€˜์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”โ€™๋ผ๋Š” ํ”„๋กฌํ”„ํŠธ์— 3์„ ์ž…๋ ฅํ•˜๋ฉด ๋ณ€์ˆ˜ number์— ๊ฐ’ 3์ด ๋Œ€์ž…๋œ๋‹ค. print (number)๋กœ ์ถœ๋ ฅํ•ด์„œ ์ œ๋Œ€๋กœ ์ž…๋ ฅ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ณด์ž.

>>> number = input("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”: ")
์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”: 3
>>> print(number)
3

input์€ ์ž…๋ ฅ๋˜๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๋ฌธ์ž์—ด๋กœ ์ทจ๊ธ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— number๋Š” ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž์—ด์ด๋ผ๋Š” ๊ฒƒ์— ์ฃผ์˜ํ•˜์ž

>>> type(number)
<class 'str'>

๐Ÿ‘‰ print ์ž์„ธํžˆ ์•Œ๊ธฐ


์ง€๊ธˆ๊นŒ์ง€ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•œ print ๋ฌธ์˜ ์šฉ๋„๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” print ๋ฌธ์˜ ์‚ฌ์šฉ ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

>>> a = 123
>>> print(a)
123
>>> a = "Python"
>>> print(a)
Python
>>> a = [1, 2, 3]
>>> print(a)
[1, 2, 3]

์ด์ œ print ๋ฌธ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์— ๋Œ€ํ•ด์„œ ์ข€ ๋” ์ž์„ธํ•˜๊ฒŒ ์•Œ์•„๋ณด์ž.

โ‡ฒ ํฐ๋”ฐ์˜ดํ‘œ๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ๋ฌธ์ž์—ด์€ + ์—ฐ์‚ฐ๊ณผ ๋™์ผํ•˜๋‹ค

>>> print("life" "is" "too short")  # 1๋ฒˆ
lifeistoo short
>>> print("life"+"is"+"too short")  # 2๋ฒˆ
lifeistoo short

์œ„ ์˜ˆ์—์„œ 1๋ฒˆ๊ณผ 2๋ฒˆ์€ ์™„์ „ํžˆ ๋™์ผํ•œ ๊ฒฐ๊ด๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ฆ‰, ๋”ฐ์˜ดํ‘œ๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ๋ฌธ์ž์—ด์„ ์—ฐ์†ํ•ด์„œ ์“ฐ๋ฉด + ์—ฐ์‚ฐ์„ ํ•œ ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

โ‡ฒ๋ฌธ์ž์—ด ๋„์–ด์“ฐ๊ธฐ๋Š” ์‰ผํ‘œ๋กœ ํ•œ๋‹ค

>>> print("life", "is", "too short")
lifeis too short

์‰ผํ‘œ(,)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด์„ ๋„์–ด ์“ธ ์ˆ˜ ์žˆ๋‹ค.

โ‡ฒํ•œ ์ค„์— ๊ฒฐ๊ด๊ฐ’ ์ถœ๋ ฅํ•˜๊ธฐ

03-3์—์„œ for ๋ฌธ์„ ๊ณต๋ถ€ํ•  ๋•Œ ๋งŒ๋“ค์—ˆ๋˜ ๊ตฌ๊ตฌ๋‹จ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ณด์•˜๋“ฏ์ด ํ•œ ์ค„์— ๊ฒฐ๊ด๊ฐ’์„ ๊ณ„์† ์ด์–ด์„œ ์ถœ๋ ฅํ•˜๋ ค๋ฉด ๋งค๊ฐœ๋ณ€์ˆ˜ end๋ฅผ ์‚ฌ์šฉํ•ด ๋ ๋ฌธ์ž๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

>>>for iin range(10):
...     print(i, end=' ')
...
0 1 2 3 4 5 6 7 8 9 >>>

end ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ดˆ๊นƒ๊ฐ’์€ ์ค„๋ฐ”๊ฟˆ(\n) ๋ฌธ์ž์ด๋‹ค.

๐Ÿ‘‰ ํŒŒ์ผ ์ž…์ถœ๋ ฅ


ํŒŒ์ผ์„ ์ฝ๊ณ  ์“ฐ๋Š” ๊ฒƒ๋„ Python ์—์„œ ๋งค์šฐ ์ผ๋ฐ˜์  ์ž…๋‹ˆ๋‹ค. open() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ์—ด๊ณ , ํŒŒ์ผ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ์ฝ๊ธฐ ์˜ˆ์ œ

with open("ํŒŒ์ผ๋ช….txt", "r") as file:
    contents = file.read()
    print(contents)

ํŒŒ์ผ ์“ฐ๊ธฐ ์˜ˆ์ œ

with open("์ƒˆ๋กœ์šดํŒŒ์ผ.txt", "w") as file:
    file.write("์ด๊ฒƒ์€ ํŒŒ์ผ์— ์“ฐ๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.")

๐Ÿ‘‰ ๋ช…๋ นํ–‰ ์ธ์ˆ˜(Command Line Arguments)


Python ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ, ๋ช…๋ น ํ–‰ ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์™ธ๋ถ€์—์„œ ๊ฐ’์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. sys.argv ๋˜๋Š” argparse ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์ธ์ˆ˜๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

import sys  

if len(sys.argv) > 1:     
	print("๋ช…๋ นํ–‰ ์ธ์ˆ˜:", sys.argv[1:]) 
else:     
	print("์ธ์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.")

์œ„ ์˜ˆ์ œ์—์„œ sys.argv์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋Š” ์Šคํฌ๋ฆฝํŠธ์˜ ์ด๋ฆ„์ด๋ฏ€๋กœ, ์‹ค์ œ ์ธ์ˆ˜๋Š” ๋‘ ๋ฒˆ์งธ ์š”์†Œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿค” ๋ฌธ์ž์—ด ๋‚˜๋ˆ„๊ธฐ ํ•จ์ˆ˜ - split()


input() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด input() ์•ˆ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋”ฐ๋กœ ์ชผ๊ฐœ์„œ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์‹ถ์„๋•Œ split() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค

split ํ•จ์ˆ˜๋ž€ ํŒŒ์ด์ฌ์—์„œ ํŠน์ • ๋ฌธ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆˆ ๋’ค, ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.
๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋‹ค ๋ณด๋ฉด ๋ฌธ์ž์—ด์ด ์›ํ•˜๋Š”๋Œ€๋กœ ์ชผ๊ฐœ์ ธ์žˆ์ง€ ์•Š๊ณ  ํ•ฉ์ณ์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ •ํ•œ ๊ธธ์ด๋งŒํผ ์ž๋ฅผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ํŒจํ„ด์ด ์กด์žฌํ•œ๋‹ค๋ฉด split ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘‰ ์‚ฌ์šฉ๋ฒ•


  • ๋ฌธ์ž์—ด.split()
  • ๋ฌธ์ž์—ด.split('๊ตฌ๋ถ„์ž')
  • ๋ฌธ์ž์—ด.split('๊ตฌ๋ถ„์ž', ๋ถ„ํ•  ํšŸ์ˆ˜)
  • ๋ฌธ์ž์—ด.split(seq='๊ตฌ๋ถ„์ž', maxsplit=๋ถ„ํ•  ํšŸ์ˆ˜)

๋ฌธ์ž์—ด.split()


๋ฌธ์ž์—ด.split()์€ split ํ•จ์ˆ˜์— ์•„๋ฌด๋Ÿฐ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋„ฃ์ง€์•Š๊ณ  ์‹คํ–‰ํ•˜๋ฉด ๋„์–ด์“ฐ๊ธฐ ํ˜น์€ ๊ฐœํ–‰๋ฌธ์ž์— ๋งž์ถฐ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆ ์ค๋‹ˆ๋‹ค.

str = 'a b c d e f g'
# ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์ด split()
res = str.split()
print(res)
image

๋ฌธ์ž์—ด.split('๊ตฌ๋ถ„์ž')


๋ฌธ์ž์—ด.split('๊ตฌ๋ถ„์ž') ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ตฌ๋ถ„์ž๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๊ตฌ๋ถ„์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆ ์ค๋‹ˆ๋‹ค.

str = 'a,b,c,d,e,f,g'
# split์— ๊ตฌ๋ถ„์ž ํŒŒ๋ผ๋ฏธํ„ฐ ์‚ฌ์šฉ
res = str.split(',')
print(res)
image

๋ฌธ์ž์—ด.split('๊ตฌ๋ถ„์ž', ๋ถ„ํ•  ํšŸ์ˆ˜)


๋ฌธ์ž์—ด.split('๊ตฌ๋ถ„์ž', ๋ถ„ํ•  ํšŸ์ˆ˜)๋Š” ๊ตฌ๋ถ„์ž์— ๋”ฐ๋ผ ์•ž์—์„œ ๋ถ€ํ„ฐ ๋ถ„ํ•  ํšŸ์ˆ˜๋งŒํผ๋งŒ ๋‚˜๋ˆ„๊ณ , ๋‚˜๋จธ์ง€๋Š” ๋‚˜๋ˆ„์ง€ ์•Š๊ณ  ๋ฆฌ์ŠคํŠธ์˜ ๋งˆ์ง€๋ง‰ ํ•ญ๋ชฉ์œผ๋กœ ์ฑ„์›Œ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

str = 'a,b,c,d,e,f,g'
# split์— ๊ตฌ๋ถ„์ž ํŒŒ๋ผ๋ฏธํ„ฐ ์‚ฌ์šฉ
res = str.split(',' , 3)
print(res)
image

๋ฌธ์ž์—ด.split(sep='๊ตฌ๋ถ„์ž', maxsplit=๋ถ„ํ•  ํšŸ์ˆ˜)


sep ๊ณผ maxsplit์€ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ช…์ด๋ฉฐ, ๋ฐ”๋กœ ์œ„ ์ฝ”๋“œ์™€ ๋™์ผํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

str = 'a,b,c,d,e,f,g'
# split์— ๊ตฌ๋ถ„์ž ํŒŒ๋ผ๋ฏธํ„ฐ ์‚ฌ์šฉ
res = str.split(sep=',' , maxsplit=3)
print(res)
image

๐Ÿ’ป ์ž…๋ ฅ ๊ฐ’์„ ๋ณ€์ˆ˜ ๋‘๊ฐœ์— ์ €์žฅํ•˜๊ธฐ


a, b = input('๋ฌธ์ž์—ด ๋‘ ๊ฐœ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”: ').split()    # ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์„ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌ
 
print(a)
print(b)
profile
์•ˆ๋…•ํ•˜์„ธ์š”

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

comment-user-thumbnail
2023๋…„ 7์›” 21์ผ

๋ณธ ํฌ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ดํ•ด๋ฅผ ํ™•๋ฆฝํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ print ํ•จ์ˆ˜์˜ ์„ธ์„ธํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋˜์–ด ๋งค์šฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. input ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•œ ํ”„๋กฌํ”„ํŠธ ๋„์šฐ๊ธฐ์™€ print ๋ฌธ์—์„œ ๋ฌธ์ž์—ด ๋„์–ด์“ฐ๊ธฐ, ํ•œ ์ค„์— ๊ฒฐ๊ด๊ฐ’ ์ถœ๋ ฅํ•˜๊ธฐ ๋“ฑ์˜ ๊ธฐ๋Šฅ์€ ์•ž์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ข‹์€ ์ •๋ณด ๊ณต์œ ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ