print()
help(print)
Out:
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
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.
help 함수를 이용하여 print 함수에 대한 정보를 보면 매개변수로 value, sep, end, file 그리고 flush가 있다. 이 중 value는 가변인자(개수가 변할 수 있는 인자)이므로 1개 혹은 여러개가 될 수 있다. sep는 seperator(분리자)를 의미하고 value 사이에 삽입되는 문자열인데 기본값으로 ' '(공백)을 가진다. end는 마지막 value에 덧붙는 문자열이고 기본값은 '\n'이다. file은 기본값으로 표준출력을 갖는다. flush는 기본값으로 False를 갖고 스트림에 강제적으로 내보낼지 말지를 결정한다. stream은 출력할 값들의 순차적인 나열이다. print는 출력할 값은 buffer에 쌓아뒀다가 출력하는데 이걸 flush라고 한다. 매개변수 flush의 값을 True로 주면 buffer에 쌓이지 않고 바로바로 출력한다.
sep
print("영동대로", "미세먼지:", 1, "초미세먼지 등급:", 1)
Out:
영동대로 미세먼지: 1 초미세먼지 등급: 1
sep 인자를 넘겨주지 않으면 comma(,)로 구분된 value들 사이가 한 칸 띄워진다.
print("영동대로", "미세먼지:", 1, "초미세먼지 등급:", 1, sep=';')
Out:
영동대로;미세먼지:;1;초미세먼지 등급:;1
sep 인자로 ';'를 넘겨주면 value 사이에 ';'가 삽입된다.
file
f = open("test.txt", "wt", encoding="utf-8") # text 파일을 다룰 때 t
print("영동대로", "미세먼지:", 1, "초미세먼지 등급:", 1, file=f)
f.close()
open 함수의 두 번째 인자인 "wt"는 쓰기(write) 모드이며 text 파일임을 의미한다.
print 함수의 file 인자를 따로 지정해주었기 때문에 실행해보면 현재 경로에 test.txt라는 파일이 생성되고 거기에 출력 내용이 저장된다.
end
print("영동대로 측정소의", "미세먼지 등급은", 1, "초미세먼지 등급은", 1, end="입니다\n")
print("광화문 측정소의", "미세먼지 등급은", 1, "초미세먼지 등급은", 1, end="입니다")
Out:
영동대로 측정소의 미세먼지 등급은 1 초미세먼지 등급은 1입니다
광화문 측정소의 미세먼지 등급은 1 초미세먼지 등급은 1입니다
끝에 "입니다"가 추가된다.
이스케이프 시퀀스(Escape sequence)
Escape sequence | Description |
\t | 탭 문자, tab |
\n | 새 줄, 개행 문자, LF(Line Feed) |
\b | 백스페이스, Backspace |
\r | 캐리지 리턴, CR(Carriage Return) |
\' | 작은따옴표, Single quote |
\" | 큰따옴표, Double quote |
\nnn | ASCII 코드 문자 표현(octal number) |
\xhh | ASCII 코드 문자 표현(hexadecimal number) |
\N{ } | 유니코드 문자 표현 |
캐리지 리턴은 cursor의 위치를 앞으로 이동시킨다.
\t, \n
print("영동대로", "\t미세먼지:", 1, "\t초미세먼지 등급:", 1)
print("영동대로", "\n미세먼지:", 1, "\n초미세먼지 등급:", 1)
Out:
영동대로 미세먼지: 1 초미세먼지 등급: 1
영동대로
미세먼지: 1
초미세먼지 등급: 1
\b, \r
print("영동대로", "미세먼지:", 1, "\b\b\b초미세먼지 등급:", 1)
print("영동대로", "미세먼지:", 1, "\r초미세먼지 등급:", 1)
Out:
영동대로 미세먼지:초미세먼지 등급: 1 # 앞의 세 글자가 지워지고 작성됨
초미세먼지 등급: 1 # 커서가 맨 앞으로 돌아가서 거기서부터 작성됨
\", \'
print("영동대로", "\"미세먼지\":", 1, "\"초미세먼지 등급\":", 1)
print("영동대로", "\'미세먼지\':", 1, "\'초미세먼지 등급\':", 1)
Out:
영동대로 "미세먼지": 1 "초미세먼지 등급": 1
영동대로 '미세먼지': 1 '초미세먼지 등급': 1
이스케이프 시퀀스를 사용하지 않고도 큰따옴표와 작은따옴표를 출력할 수 있다.
print("영동대로", '"미세먼지":', 1, "\"초미세먼지 등급\":", 1)
print("영동대로", "'미세먼지':", 1, "\'초미세먼지 등급\':", 1)
Out:
영동대로 "미세먼지": 1 "초미세먼지 등급": 1
영동대로 '미세먼지': 1 '초미세먼지 등급': 1
문자열을 '작은따옴표'로 묶은 경우, 문자열에 큰따옴표를 사용할 수 있고 문자열을 "큰따옴표"로 묶은 경우, 문자열에 작은따옴표를 사용할 수 있다.
\nnn, \xhh
print("무엇일까요?", "\101")
print("무엇일까요?", "\x41")
print()
print("무엇일까요?", "\172")
print("무엇일까요?", "\x7a")
Out:
무엇일까요? A
무엇일까요? A
무엇일까요? z
무엇일까요? z
[\ + 세 자리의 8진수] 혹은 [\x + 두 자리의 16진수]로 ASCII 코드에 해당하는 문자를 출력할 수 있다.
8진수 101은 10진수로 65이므로 위 표를 보면 ASCII 코드로 문자 'A'를 의미한다.
영문 알파벳 대문자에서 소문자로 변환하려면 32를 더하고 반대로 소문자에서 대문자로 변환하려면 32를 빼면 된다는 것을 알 수 있다. 이 방식은 C에서 자주 이용된다.
컴퓨터는 2진수를 사용하고 8진수와 16진수는 각각 세 자리의 2진수와 네 자리의 2진수로 표현이 가능하기 때문에 코드를 작성할 때 8진수와 16진수를 많이 사용한다.
\N{}
print("무엇일까요?", "\N{LATIN SMALL LETTER A}")
print("무엇일까요?", "\N{LATIN SMALL LETTER A WITH MACRON}")
Out:
무엇일까요? a
무엇일까요? ā
\N{}을 사용하여 표현하기 유니코드 문자를 출력할 수 있다.
유니코드 문자의 이름은 unicode.org/charts/에서 볼 수 있다.
참고: 코딩티타임
'파이썬 Python' 카테고리의 다른 글
[Python] 중급 3강 정규 표현식 Regular expressions (0) | 2021.02.28 |
---|---|
[Python] 중급 2강 문자열 포매팅 (0) | 2021.02.25 |
[Python] 초급 12 클래스 예제 (0) | 2021.02.21 |
초급 10, 11 클래스와 상속 (0) | 2021.01.23 |
초급 9 XML (0) | 2021.01.15 |