>  기사  >  백엔드 개발  >  python2와 3print의 차이점

python2와 3print의 차이점

silencement
silencement원래의
2019-06-26 09:43:282997검색

python2와 3print의 차이점

Python2와 Python3 모두 정보를 인쇄하는 print() 메서드를 제공하지만 두 버전 간의 인쇄가 약간 다릅니다.

주로 다음과 같은 측면에서 반영됩니다.

1. Python3의 인쇄는 내장 함수입니다. , 여러 매개변수가 있고 python2의 print는 문법적 구조입니다.

2.Python2는 괄호 없이 인쇄할 수 있습니다. print 'hello world', Python3에서는 괄호를 추가해야 합니다. print("hello world")

3.Python2, 입력에는 다음이 필요합니다. 문자열이 아닌 유형을 읽을 때 발생하는 일부 동작을 방지하려면 input()

1 대신 raw_input()을 사용해야 합니다. 이중 ID가 조금 불편해서 함수의 ID만 유지했습니다:

print(value1, ..., sep=' ', end='n', file=sys.stdout, flash=False)

위에서 볼 수 있듯이

①.print는 여러 매개변수를 지원하고 동시에 여러 문자열을 인쇄할 수 있습니다(여기서...는 여러 문자열을 의미함). 문자열 연결에 사용되는 문자

3. end는 문자열 끝에 추가할 문자를 나타냅니다. 이 매개변수를 지정하면 Python2.x에서 인쇄 문이 줄바꿈 없이 쉽게 인쇄되도록 설정할 수 있습니다. 줄 바꿈을 원하지 않으면 명령문 끝에 ","를 추가하면 됩니다. 그러나 Python 3.x에서는 print()가 내장 함수가 되므로 ","를 추가하는 기존 방법은 작동하지 않습니다.

>>> print("python", "tab", ".com", sep='') 
pythontab.com 
>>> print("python", "tab", ".com", sep='', end='') #就可以实现打印出来不换行 
pythontab.com

물론 괄호를 사용하여 python2.7에서 변수를 묶을 수도 있습니다. 이는 전혀 잘못된 것이 아닙니다.

print('this is a string') #python2.7

하지만 python3은 print를 아무것도 아닌 기능으로 변경합니다.

python3에서는 help( print ) 문서를 확인했지만 python2가 작동하지 않습니다.

>>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.

python3에서는 출력 리디렉션을 사용하는 것이 더 편리합니다

python2.7에서는 C++와 유사한 스타일로 리디렉션을 완료해야 합니다.

with open('print.txt', 'w') as f:
 print >> f, 'hello, python!'

In python3에서:

with open('print.txt', 'w') as f:
 print('hello, python!', file = f)

file은 python3 인쇄에 새로 추가된 매개변수입니다. 또 다른 편리한 매개변수는 sep입니다. 예를 들어 정수 배열을 인쇄하지만 공백 대신 별표로 연결하려고 합니다. python2에서는 이를 완료하기 위해 루프를 작성해야 할 수도 있습니다. python3에서는 다음과 같이 됩니다.

a = [1, 2, 3, 4, 5]
print(*a, sep = &#39;*&#39;)<br>

마지막으로 python2.7에서 python3의 인쇄를 사용하려면 코드의 첫 번째 문장 앞에만 추가하면 됩니다.

from __future__ import print_function

from __future__ import...와 같은 문은 코드 시작 부분에 배치되어야 합니다.

위 내용은 python2와 3print의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.