About Python – “콘솔 입력&출력 – input(), print()”

About Python – “콘솔 입력&출력 – input(), print()”

1월 6, 2022

파이썬의 input() 함수

Read a string from standard input. The trailing newline is stripped.
The prompt string, if given, is printed to standard output without a trailing newline before reading input.
If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError. On *nix systems, readline is used if available

표준 입력에서 문자열을 읽습니다. 후행 줄 바꿈이 제거됩니다. 프롬프트 문자열이 주어지면 입력을 읽기 전에 후행 개행 없이 표준 출력으로 인쇄됩니다. 사용자가 EOF(*nix: Ctrl-D, Windows: Ctrl-Z+Return)를 누르면 EOFError를 발생시킵니다. *nix 시스템에서 사용 가능한 경우 readline이 사용됩니다.

파이썬의 input() 함수는 내장 함수로서, C의 scanf()와 비슷하게 사용자로부터 입력을 받습니다.

name = input("당신의 이름은? = ")
if name == "":
    print("이름을 제대로 입력해주세요!")
else:
    print("당신이 입력한 이름은,%s" % name)


# 당신의 이름은? = 
# 이름을 제대로 입력해주세요!

# 당신의 이름은? = goddessana
# 당신이 입력한 이름은,goddessana

사용자로부터 이름을 입력받아 출력하는 코드입니다. 위의 코드는 지금까지의 글들을 다 읽으셨다면 어렵지 않게 이해하실 수 있을 것입니다.

파이썬의 print() 함수

Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream.

값을 스트림 또는 기본적으로 sys.stdout에 인쇄합니다.
선택적 키워드 인수: file: 파일류 객체(스트림); 기본값은 현재 sys.stdout입니다.
sep: 값 사이에 삽입된 문자열, 기본값은 공백입니다.
end: 마지막 값 뒤에 추가된 문자열, 기본적으로 개행입니다.
flush: 스트림을 강제로 플러시할지 여부.

print()함수를 보며 신기했던 기능은 키워드 인수 sepend 였습니다.

print("안녕하세요?" "hello?")
# 안녕하세요?hello?

위의 코드는 실행하면 안녕하세요?hello?처럼 두 개의 문자열이 띄어쓰기 없이 그대로 출력됩니다. 이 곳에 , 를 넣으면 띄어쓰기를 할 수 있습니다.

print("안녕하세요?","hello?")
# 안녕하세요? hello?

sep 이라는 키워드 인수로 두 값 사이에 무엇을 넣을지를 정해줄 수 있습니다. 기본값은 ‘ ‘(공백)입니다. 그렇기 때문에 위의 예에서 띄어쓰기가 한 칸 추가된 것입니다.

print("안녕하세요?","hello?", sep="이걸 넣어야지~")
# 안녕하세요?이걸 넣어야지~hello?

위의 코드에서 , 를 넣었지만 값 사이에 제가 정해준 문자열인 "이걸 넣어야지~"가 추가된 것을 볼 수 있습니다.

end 라는 키워드 인수로 끝 문자를 지정해줄 수 있습니다.

print("안녕하세요?","hello?", end="끝이다!~")
# 안녕하세요? hello?끝이다!~

end의 기본값은 줄바꿈입니다.

print("안녕하세요?","hello?")
print("만나서 반갑습니다.", "nice to meet you.")

# 안녕하세요? hello?
# 만나서 반갑습니다. nice to meet you.

예컨대 이 경우에는 end라는 키워드 자체를 쓰지도 않았지만, 자동으로 줄바꿈이 적용되어 있는 것을 확인할 수 있습니다.

print("안녕하세요?","hello?", end=' ')
print("만나서 반갑습니다.", "nice to meet you.", end='끝')

#안녕하세요? hello? 만나서 반갑습니다. nice to meet you.끝

이 경우 end=' ' 를 적용해 주었기 때문에 기본값인 \n (줄바꿈 이스케이프 시퀀스)이 적용되지 않고 띄어쓰기 하나로 문장이 끝난 것을 볼 수 있습니다.

Leave A Comment

Avada Programmer

Hello! We are a group of skilled developers and programmers.

Hello! We are a group of skilled developers and programmers.

We have experience in working with different platforms, systems, and devices to create products that are compatible and accessible.