인쇄 기능

문장은 Python 해석기가 수행할 수 있는 명령어입니다.함수는 특정한 조작을 실행하는 코드 블록으로 보통 여러 개의 문장을 포함한다.Python에는 두 가지 유형의 함수가 있습니다. 내장 함수(print () 같은 미리 정의된 함수)와 사용자 정의 함수(프로그래머나 개발자가 만든 함수)입니다.
print 함수는 Python 3에 대한 추가이며 Python 2의 print 문장을 대체합니다.( PEP 3105 ). 기본적으로 우리는 값을 화면 (stdout) 이나 열린 파일에 출력할 수 있습니다.예를 들어, 일반적으로 디버깅에 사용됩니다.이 함수는 임의의 위치 매개 변수를 받아들일 수 있으며, 기본값이 있는 선택적 키워드 매개 변수 4개를 정의할 수 있습니다.

문법

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)매개 변수
묘사
대상
객체, 인쇄 전에 문자열로 변환됩니다.
sep='분별자'
선택 사항 - 여러 객체가 있는 경우 객체를 구분하는 방법을 지정합니다.기본값은''입니다.
end='end'
선택 사항 - 끝에 인쇄할 내용을 지정합니다.기본값은\n 문자(줄 바꿈)입니다.
파일
옵션 - 쓰기 방법이 있는 객체입니다.기본값은sys입니다.stdout.
얼굴이 빨개지다
옵션 - 출력 새로 고침 (True) 또는 기본 버퍼 (False) 를 지정하는 부울 값

이스케이프 시퀀스


우선, 이 특수 문자들은 일반적으로 앞에 반사봉 \이 있는 문자열 문자에 나타나기 때문에 간단하게 토론합시다.그것들은 보이지 않는 제어 문자를 표시할 수 있고, 때로는 다른 불법 문자를 전의할 수도 있다.
비밀번호
묘사\'큰따옴표\"큰따옴표\\백슬래시\n , \r , \r\n행 또는 행 바꾸기(LF)\r리턴(CR)\t\b체크아웃
줄 바꿈은 운영 체제(OS)에 따라 단일 제어 문자 또는 제어 문자 시퀀스일 수 있습니다.
  • Windows & Dos는 EOL이 \r\n임을 나타냅니다.
  • Unix, Linux, macOS는 EOL을 \n으로 표시합니다.
  • Mac OS X는 EOL이 \r임을 나타냅니다.
  • 터미널로 인쇄


    1. 빈 괄호가 있는 매개변수를 전달하지 않고 빈 행(\n)을 인쇄할 수 있습니다.
    print()
    
    2. 텍스트를 인쇄할 수 있습니다.문자는 원본 코드의 값을 나타내는 기호입니다.각종 값 유형(int,float,tuple,string 등)이 있습니다.
    print(17)
    print(3.14159)
    print((58, 128, 168))
    print("Press \"Enter\" to continue.")
    
    [run code]
    3. 변수를 인쇄할 수 있습니다.변수는 값을 저장하는 컴퓨터 메모리 위치를 인용하거나 가리키는 기호 이름입니다.
    pi = 3.14159
    message = "Press 'Enter' to continue."
    print(message)
    print(pi)
    
    [run code]
    4, 표현식을 직접 인쇄할 수 있습니다.표현식은 연산자와 조작수의 조합으로 다른 값을 생성하는 것으로 해석된다.
    print(19 + 23)
    print("Python was first released " + str(31) + " years aggo.")
    
    [run code]
    5. 쉼표로 구분된 여러 문자를 인쇄할 수 있습니다(,).
    series = "Monty Python's Flying Circus"
    print("Python was named after the BBC comedy series:", series)
    print(29, 31, 37)
    
    [run code]
    6. 다른 구분자를 사용하여 값을 인쇄할 수 있습니다(sep 참조).
    print('Hello', 'World!', sep="")
    print("", "C", "Users", "Guido", "Documents", sep="/")
    print("name", "email", "phone number", "address", sep="," )
    
    [run code]
    7. 줄 바꿈 문자나 줄 바꿈 문자가 없는 텍스트를 인쇄할 수 있습니다(end 참조).
    print("Proceed with Format (Y/N)? ", end="")
    print("Y")
    
    [run code]

    문자열 형식


    Python 3.6 이후 f-strings(PEP 498)을 사용하여 문자열을 포맷할 수 있습니다.이것은 현재 추천하는 문자열 문자를 포맷하는 방법이지만, str.format()printf-style formatting 메커니즘을 완전히 대체할 생각은 없다.
    포맷 문자열 문자나 f-string은 f 또는 F을 접두사로 하는 문자열입니다.이 문자열은 괄호({})로 구분된 표현식인 replacement fields을 포함할 수 있습니다.format specification mini-language은str.format () 방법과 동일하게 사용됩니다.

    문법

    "{" [field_name] ["!" conversion] [":" format_spec] "}"논거
    묘사field_name값을 포맷하고 삽입할 객체를 지정합니다.conversion옵션 - 형식 강제, 형식 변환 강제(접두사 !).format_spec옵션 - 값을 표시하는 방법을 설명합니다(접두사 :).

    field_name

    arg_name ("." attribute_name | "[" element_index "]")*논거
    묘사arg_name[식별자 숫자 +]attribute_name식별자element_index숫자 + 색인 문자열

    바꾸다

    "r" | "s" | "a"논거
    묘사rformat_spec에서 repr()을 실현하기 전에 파라미터에 __format()__을 호출합니다.sformat_spec에서 str()을 실현하기 전에 파라미터에 __format()__을 호출합니다.aformat_spec에서 ascii()을 실현하기 전에 파라미터에 __format()__을 호출합니다.

    format\u 사양

    [[fill]align] [sign] [#] [0] [width] [grouping_option] [.precision] [type]논거
    묘사fill<모든 문자>align< > = ^ sign+ - " " width숫자 +grouping_option_ , precision숫자 +typeb c d e E f F g G n o s x X %8. f 문자열의 표현식을 인쇄할 수 있습니다.
    print(f"{43 * 47}")
    
    [run code]
    9. f 문자열의 변수를 인쇄할 수 있습니다(field name 참조).
    nation = ("Mayan")
    logo = [2, (52, 121, 175), (255, 222, 77)]
    
    print(f"The Python logo depicts {logo[0]} colored snakes based on ancient \
    {nation} drawings.")
    
    [run code]
    10. f 문자열에서 방법을 호출할 수 있습니다(field name 참조).
    group = "Monty Python"
    print(f"Eric Idle is an actor of the comedy group {group.upper()}.")
    
    [run code]
    11. f 문자열의 함수를 호출할 수 있습니다(field name 참조).
    def to_upper(string):
        return string.upper()
    
    group = "Monty Python"  
    print(f"Eric Idle is an actor of the comedy group {to_upper(group)}.")
    
    [run code]
    12. f 문자열의 객체를 인쇄할 수 있습니다(field name 참조).기본적으로\uustr\uu 방법으로 되돌아오는 내용을 인쇄하거나 현식 변환 로고를 사용할 수 있습니다(conversion 참조).
    class Color:
        def __init__(self, r = 255, g = 255, b = 255):
            self.r = r
            self.g = g
            self.b = b
    
        def __str__(self):
            return "This is a RGB color object."
    
        def __repr__(self):
            return f"Color({self.r}, {self.g}, {self.b})"
    
    flat_blue = Color(r = 52, g = 121, b = 175)
    light_gold = Color(r = 255, g = 222, b = 77)
    
    print(f"{flat_blue}")
    print(f"{flat_blue!s}")
    print(f"{light_gold!r}")
    
    [run code]
    13. f 문자열의 값 정렬과 채우기를 포맷할 수 있습니다(alignfill 참조).
    prime_number = 997
    language = "Python"
    
    print(f"{prime_number}")
    print(f"{97:>3}")
    print(f"{prime_number:0>10}")
    print(f"{language:^10}")
    print(f"{language:-^10}")
    
    [run code]
    14. f문자열의 숫자에 대한 기호, 그룹화, 반올림을 포맷할 수 있습니다(sign, grouping_optionprecision 참조).
    number = 9576890767
    amount = 25169.15683
    
    print(f"{number:,}")
    print(f"{amount:=+11,.2f}")
    print(f"$ {amount:,.2f}")
    print(f"R {amount:,.2f}".replace(',', ' '))
    
    [run code]
    15. 값을 f 문자열의 다른 형식으로 포맷할 수 있습니다(type 참조).
    decimal_number = 29
    binary_number = 0b11101
    index = 0.2827
    big_number = 176846309399143769411680
    
    print(f"{decimal_number:5b}")
    print(f"{decimal_number:5o}")
    print(f"{decimal_number:5x}")
    print(f"{decimal_number:5X}")
    print(f"{binary_number:5d}")
    print(f"{big_number:e}")
    print(f"Python has a PYPL-index of {index:.2%}")
    
    [run code]

    파일로 인쇄


    인쇄 기능은 화면에 텍스트를 보낼 뿐만 아니라 객체를 문자열로 변환하여 스트림 (비슷한 파일의 객체) 에 더 정확하게 기록합니다.흐름은 드라이브의 모든 파일, 네트워크 플러그인, 메모리의 어느 위치 (버퍼) 일 수 있습니다.또한 운영 체제에서는 다음과 같은 세 가지 표준 스트림을 제공합니다.
    흐르다
    파일 핸들
    묘사
    표준 입력
    0
    키보드 입력
    표준 출력
    일.
    화면 출력
    표준 오차
    이.
    화면 출력
    앞에서 말한 바와 같이 인쇄 함수는 기본적으로 표준 출력을 사용합니다.그러나 리디렉터리 조작부호(>)를 사용하면 운영체제에 파일 흐름을 사용하도록 지시할 수 있습니다.리디렉션 조작부호는 입력을 셸 명령으로 리디렉션할 수도 있고, 출력을 셸 명령으로 리디렉션할 수도 있습니다.stderr로 방향을 바꾸려면 파일 핸들을 사용해야 합니다.파일 핸들은 표준 흐름과 관련된 상수입니다.이 핸들은 한 번에 하나 이상의 흐름을 다시 정할 수 있도록 합니다.
    문법
    묘사program > file표준 출력을 파일로 리디렉션합니다.program 2> filestderr를 파일로 바꿉니다.program > file 2> filestdout와 stderr를 단독 파일로 바꿉니다.program >> file파일에 표준 출력을 첨부합니다.program < file텍스트 파일을 입력하고 프로그램에 텍스트를 전달합니다.
    예를 들어 systeminfo.exe을 실행하여 시스템info 명령이 제공하는 정보를 파일에 저장할 수 있습니다.
    PS systeminfo > system_info.txt
    
    16.Python 스크립트를 포함하여 다양한 명령행 프로그램에 흐름 리셋을 사용할 수 있습니다.
    # message.py
    print("This message will be written to stdout")
    
    PS python message.py > message.txt
    
    17. Python에서는 흐름 리디렉션을 사용할 수 있습니다.이것은 우선 file object 모듈의 표준 출력 sys을 사용하여 표준 출력에 대한 참고를 얻어 실현한 것이다.변수를 변경하기 전에 표준 출력의 원래 값을 변수에 저장하는 것이 좋습니다.이렇게 하면 나중에 원래 값으로 재설정할 수 있습니다.with 문장은 실행 시 상하문을 만들었습니다. context manager의 제어 아래 문장 그룹을 실행할 수 있습니다.open 함수는 쓰기 모드에서 파일을 열려고 시도합니다. 성공하면 파일 대상 (핸들이라고도 함) 을 되돌려줍니다.인쇄 기능은 일반적으로 다음 모드를 사용합니다.
    모드
    묘사'r'읽기(기본값)를 엽니다.'w'쓰기 위해 열기 먼저 파일을 끊습니다.'x'열기는 파일이 이미 존재하는 경우 단독 방식으로 생성됩니다.'a'파일이 존재하면 파일 끝에 첨부할 수 있도록 열기'+'업데이트(읽기와 쓰기)를 위해 엽니다.
    import sys
    
    
    default_stdout = sys.stdout # save the original value of stdout
    
    print("This message will be written to stdout.")
    
    with open('message.txt', 'w') as file_object:
        sys.stdout = file_object # redirect stdout to the file
        print("This message will be written to file.")
        sys.stdout = default_stdout # reset stdout to its original value
    
    print("This message will be written to stdout.")
    
    18. 흐름 리디렉션을 사용하지 않고 파일에 직접 인쇄할 수 있습니다(file 참조).
    import sys
    
    
    print("This message will be written to stdout.")
    
    with open('message.txt', 'w') as file_object:
        print("This message will be written to file.", file=file_object)
    
    19, 표준 출력의 버퍼를 비활성화할 수 있습니다.운영체제는 성능을 높이기 위해 비싼 입력/출력 작업을 버퍼링하지만, 때때로 버퍼링은 의외의 영향을 미칠 수 있다.버퍼링에 대한 세 가지 흐름이 있습니다. 버퍼링, 선 버퍼링, 블록 버퍼링이 없습니다.행 버퍼 대기 버퍼에 EOL이 나타나고 블록 버퍼 대기 버퍼가 채워집니다.표준 출력에는 행 버퍼도 있고 블록 버퍼도 있습니다. 이것은 어느 사건이 먼저 발생하느냐에 달려 있습니다.(flush 참조)
    from time import sleep
    
    
    for number in reversed(range(10 + 1)):
        print(number, end=" ", flush=True)
        sleep(1)
    print("Launch!")
    
    20. 인쇄 기능에 대한 우리의 이해를 보완하기 위해 여기에 텍스트 기반 진도표의 실제 예시가 있는데 명령행 프로그램에 사용할 수 있다.
    from time import sleep
    
    
    width = 10
    
    for progress in range (101):
        fill = width * progress // 100
        track = width - fill
        value = f"{progress / 100:.0%}"
        print("\r[", "#" * fill, " " * track, "]", value, sep="", end="", flush=True)
        sleep(0.1)
    

    좋은 웹페이지 즐겨찾기