오늘은 Python 마스터가 되는 길 2회차.🤟
📘 문자열.
python은 문자열끼리 더하면 문자열이 합쳐지고,
문자열을 곱하면 해당 수 만큼 반복해서 출력한다.
print("파이썬" + "붙이기")
파이썬 붙이기
print("파이썬" * 10)
파이썬파이썬파이썬파이썬파이썬파이썬파이썬파이썬파이썬파이썬
이렇게 말이다.
하지만 문자열과 문자열을 곱한다면 에러 코드가 출력된다.
이걸 이용해
print("=" * 20)
print("나는" + "파이썬" + "마스터")
print("=" * 20)
====================
나는 파이썬 마스터
====================
이렇게 표현할 수도 있다.
📘 이제 print() 함수의 옵션에 대해 알아보자.
📌 help()
함수의 설명서를 열람할 수 있는 기능이다. 정확히 말하면 함수의 프로토 타입을 보는 것.
print 함수와 마찬가지로 소괄호 내부에 원하는 함수명을 적어서 출력해보자.
help(print)
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.
그럼 이렇게 해당 함수의 기능설명서가 나온다.
3번째 줄을 보면 print 함수를 구성하는 파라미터를 볼 수 있다.
value 는 값을 의미하고 ' , ' 로 구분한다.
print("Hello", "World", "123")
Hello World 123
"Hello World 123" 이라고 하나의 문자열에 입력하게 된다면 이 문장은 하나의 문자열로 이루어진 문장이 되지만 예시처럼 ' , ' 를 넣어 사용한다면 같은 출력 값이라도 3개의 문자열로 이루어진 문장이 된다.
나중에 변수나 여러 기초문법에 들어가게 되면 좀 더 다양하게 응용할 수 있게 된다.
앞서 말했던 + 연산으로 문자열을 합친다면 이 역시 같은 결과가 나올지언정 결국 하나의 문자열로 합쳐지는 결과가 발생하니 잘 활용하도록 하자.
sep 는 separator의 약자로 사이사이의 값을 삽입할 때 사용한다.
기본값은 ' ' (공백)이고, 원하는 다른 문자열로 변경할 수 있다.
print("Apple", "Banana", "Cherry", sep=", ")
Apple, Banana, Cherry
end 는 끝에 어떤 값을 붙이기 위해 사용한다. 기본 설정은 \n 으로 개행문자, 줄바꿈이다. 그래서 print 함수를 쓸 때마다 자동으로 줄바꿈이 되는 것.
print("Hello", end="!!!")
print("World")
Hello!!!World
기본적으로 print()는 줄 바꿈을 하지만, end="!!!"로 설정해서 줄 바꿈 대신 !!!가 들어간 걸 볼 수 있다.
file 은 해당 함수의 경로로, 기본적으로 출력은 sys.stdout(표준 출력, 화면)에 나오지만, 파일로 저장할 수도 있다.
with open("output.txt", "w") as f:
print("Hello, file!", file=f)
이렇게 file=f로 설정하면 출력이 화면이 아니라 output.txt 파일에 저장된다.
flush 는 출력 버퍼를 즉시 비울지(True) 결정하는 옵션이다.
기본값(False)이면 출력이 버퍼에 저장되었다가 한 번에 출력되는데, True로 설정하면 즉시 출력된다.
주로 로그를 실시간으로 출력할 때 사용한다.
import time
for i in range(5):
print(i, end=" ", flush=True)
time.sleep(1)
flush=True로 설정하면 print()가 즉시 화면에 출력되도록 강제할 수 있다.
📘 이번엔 Raw String 에 대해 알아보자.
Raw String은 원시문자열로 r"문자열" 또는 R"문자열" 형태로 사용된다.
역슬래시()를 이스케이프 문자로 처리하지 않고 그대로 문자열로 해석해준다.
\n, \t 같은 특수 문자가 동작하지 않고 있는 그대로 출력된다.
대표적인 경우가
print("C:\Program Files\new")
이렇게 파일의 경로에 \ 가 들어가게 되는데, \ 를 이스케이프 문자로 처리하지 않고 그대로 해석하기 위해
print(r"C:\Program Files\new")
이렇게 사용해서
C:\Program Files\new
출력 결과를 그대로 보여준다.
📘 다음은 멀티 라인 기법(Multi-line String)이다.
멀티 라인 기법은 여러 줄에 걸친 문자열을 작성하는 방법이다.
python에서는 여러가지 방법으로 멀티라인 문자열을 만들 수 있다.
1. """ 또는 ''' 사용
multi_line_str = """이 문자열은
여러 줄로 작성할 수 있습니다.
줄바꿈을 그대로 유지할 수 있다!"""
print(multi_line_str)
이 문자열은
여러 줄로 작성할 수 있습니다.
줄바꿈을 그대로 유지할 수 있다!
multi_line_str = "이 문자열은 여러 줄에 걸쳐 작성되지만, \
실제로는 한 줄로 출력된다."
print(multi_line_str)
이 문자열은 여러 줄에 걸쳐 작성되지만, 실제로는 한 줄로 출력된다.
multi_line_str = (
"이 문자열은 여러 줄에 걸쳐 작성되지만, "
"자동으로 연결된다!"
)
print(multi_line_str)
이 문자열은 여러 줄에 걸쳐 작성되지만, 자동으로 연결된다!
multi_line_str = "\n".join([
"이 문자열은",
"여러 줄을 리스트로 저장한 후",
"join()을 사용해서 합쳤다!"
])
print(multi_line_str)
이 문자열은
여러 줄을 리스트로 저장한 후
join()을 사용해서 합쳤다!
오늘은 여기까지.🤟