Python Language
인쇄 기능
수색…
인쇄 기본 사항
파이썬 3 이상에서는 print
가 키워드가 아닌 함수입니다.
print('hello world!')
# out: hello world!
foo = 1
bar = 'bar'
baz = 3.14
print(foo)
# out: 1
print(bar)
# out: bar
print(baz)
# out: 3.14
print
할 매개 변수를 여러 개 전달할 수도 print
.
print(foo, bar, baz)
# out: 1 bar 3.14
여러 매개 변수를 print
하는 또 다른 방법은 +
print(str(foo) + " " + bar + " " + str(baz))
# out: 1 bar 3.14
그러나 여러 매개 변수를 인쇄 할 때 +
를 사용할 때 조심해야 할 것은 매개 변수의 유형이 동일해야한다는 것입니다. 첫 번째 string
캐스팅하지 않고 위의 예제를 인쇄하려고하면 문자열 "bar"
숫자 1
을 추가하고 숫자 3.14
에 추가하려고하므로 오류가 발생합니다.
# Wrong:
# type:int str float
print(foo + bar + baz)
# will result in an error
이는 print
내용이 먼저 평가되기 때문입니다.
print(4 + 5)
# out: 9
print("4" + "5")
# out: 45
print([4] + [5])
# out: [4, 5]
그렇지 않으면, +
사용하면 사용자가 변수 출력을 읽는 데 매우 도움이 될 수 있습니다. 아래 예에서 출력은 읽기가 쉽습니다!
아래의 스크립트는 이것을 보여줍니다.
import random
#telling python to include a function to create random numbers
randnum = random.randint(0, 12)
#make a random number between 0 and 12 and assign it to a variable
print("The randomly generated number was - " + str(randnum))
end
매개 변수를 사용하여 print
기능이 개행 문자를 자동으로 인쇄하지 못하게 할 수 있습니다.
print("this has no newline at the end of it... ", end="")
print("see?")
# out: this has no newline at the end of it... see?
파일에 쓰려면 매개 변수 file
로 전달하면됩니다.
with open('my_file.txt', 'w+') as my_file:
print("this goes to the file!", file=my_file)
이것은 파일로 간다!
인쇄 매개 변수
텍스트 만 인쇄하는 것 이상을 할 수 있습니다. print
에는 여러 매개 변수가 있습니다.
인수 sep
: 인수 사이에 문자열을 sep
습니다.
쉼표 또는 다른 문자열로 구분 된 단어 목록을 인쇄해야합니까?
>>> print('apples','bannas', 'cherries', sep=', ')
apple, bannas, cherries
>>> print('apple','banna', 'cherries', sep=', ')
apple, banna, cherries
>>>
인수 end
: end
줄 바꿈 이외의 것을 사용하십시오.
end
인수가 없으면 모든 print()
함수는 한 줄을 쓴 다음 다음 줄의 시작 부분으로 이동합니다. 아무것도하지 않으려면 (빈 문자열 인 ''을 사용) 또는 두 개의 개행을 사용하여 단락 사이에 간격을 두 번 변경하십시오.
>>> print("<a", end=''); print(" class='jidn'" if 1 else "", end=''); print("/>")
<a class='jidn'/>
>>> print("paragraph1", end="\n\n"); print("paragraph2")
paragraph1
paragraph2
>>>
인수 file
: 출력을 sys.stdout이 아닌 다른 곳으로 보냅니다.
이제 stdout, file 또는 StringIO로 텍스트를 보낼 수 있으며 주어진 텍스트를 신경 쓸 필요가 없습니다. 파일처럼 거꾸로 쓰면 파일처럼 작동합니다.
>>> def sendit(out, *values, sep=' ', end='\n'):
... print(*values, sep=sep, end=end, file=out)
...
>>> sendit(sys.stdout, 'apples', 'bannas', 'cherries', sep='\t')
apples bannas cherries
>>> with open("delete-me.txt", "w+") as f:
... sendit(f, 'apples', 'bannas', 'cherries', sep=' ', end='\n')
...
>>> with open("delete-me.txt", "rt") as f:
... print(f.read())
...
apples bannas cherries
>>>
강제적으로 스트림을 flush
하는 네 번째 매개 변수 flush
가 있습니다.