ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1.9. Input and Output
    번역/Problem Solving with Algorithms and Data 2017. 10. 8. 21:15
    반응형

    이 문서는 영문으로된 내용을 구글 번역기를 활용하여 번역한 내용입니다. 
    개인적인 공부 및 추후 다시 볼 수 있도록 하기 위해 개인 블로그에 번역 내용을 옮겨 놓았습니다.
    원문과 내용이 다를시 책임지지 않으며, 저작권 문제가 발생시 언제든 삭제 될 수 있습니다. 


    Problem Solving with Algorithms and Data Structures using Python by Bradley N. Miller, David L. Ranum is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License


    우리는 데이터를 얻거나 일종의 결과를 제공하기 위해 사용자와 상호 작용할 필요가 있습니다. 오늘날 대부분의 프로그램은 대화 상자를 사용하여 사용자에게 입력을 요청하는 방법을 사용합니다. 파이썬에는 대화 상자를 만드는 방법이 있지만 우리가 사용할 수있는 훨씬 간단한 함수가 있습니다. 파이썬은 사용자에게 어떤 데이터를 입력하도록 요청하고 문자열 형식으로 데이터에 대한 참조를 반환하는 함수를 제공합니다. 이 함수를 input이라고합니다.


    파이썬의 입력 함수는 문자열 인 단일 매개 변수를 사용합니다. 이 문자열은 사용자에게 뭔가를 입력하라는 유용한 텍스트가 포함되어 있기 때문에 프롬프트라고도합니다. 예를 들어, 다음과 같이 입력을 호출 할 수 있습니다.

    aName = input('Please enter your name: ')

    이제 사용자가 프롬프트 뒤에 입력 한 내용은 aName 변수에 저장됩니다. 입력 기능을 사용하여 사용자가 데이터를 입력하고 추가 처리에 해당 데이터를 통합하라는 안내를 쉽게 작성할 수 있습니다. 예를 들어, 다음 두 명령문에서 첫 번째 명령문은 사용자에게 이름을 묻고 두 번째 명령문은 제공되는 문자열을 기반으로 간단한 처리 결과를 인쇄합니다.

    input 함수에서 반환 된 값은 프롬프트 뒤에 입력 된 정확한 문자를 나타내는 문자열입니다. 이 문자열을 다른 유형으로 해석하려면 유형 변환을 명시 적으로 제공해야합니다. 아래의 문장에서, 사용자가 입력 한 문자열은 추가적인 산술 처리에 사용될 수 있도록 float로 변환됩니다.

    sradius = input("Please enter the radius of the circle ")
    radius = float(sradius)
    diameter = 2 * radius

    1.9.1. String Formatting
    print 함수는 파이썬 프로그램에서 값을 출력하는 아주 간단한 방법을 제공한다는 것을 이미 보았습니다. print는 0 개 이상의 매개 변수를 취하여 단일 공백을 기본 구분 기호로 사용하여 표시합니다. sep 인수를 설정하여 구분 문자를 변경할 수 있습니다. 또한 각 인쇄는 기본적으로 개행 문자로 끝납니다. 이 동작은 end 인수를 설정하여 변경할 수 있습니다. 이러한 변형은 다음 세션에 표시됩니다.

    >>> print("Hello")
    Hello
    >>> print("Hello","World")
    Hello World
    >>> print("Hello","World", sep="***")
    Hello***World
    >>> print("Hello","World", end="***")
    Hello World***
    >>>

    출력의 모양을보다 잘 제어하는 것이 유용한 경우가 많습니다. 다행히 파이썬은 형식화 된 문자열이라는 대안을 우리에게 제공합니다. 서식이 지정된 문자열은 문자열에 삽입 될 변수의 자리 표시 자와 결합 된 단어 나 공백이있는 템플릿입니다. 예를 들어,

    print(aName, "is", age, "years old.")

    isyears old라는 단어가 포함되어 있지만 실행시 변수 값에 따라 이름과 나이가 변경됩니다. 형식화 된 문자열을 사용하여 이전 명령문을 다음과 같이 작성합니다.

    print("%s is %d years old." % (aName, age))

    이 간단한 예제는 새로운 문자열 표현식을 보여줍니다. % 연산자는 형식 연산자라는 문자열 연산자입니다. 표현식의 왼쪽은 템플릿또는 형식화 된 문자열을 보유하고 오른쪽은 형식화 된 문자열 으로 대체되는 컬렉션의 값을 보유합니다. 오른쪽의 컬렉션에있는 값의 수는 형식 문자열의 % 문자 수와 일치합니다. 값은 "왼쪽에서 오른쪽으로"컬렉션에서 가져 와서 형식 문자열에 삽입됩니다.

    이 포맷팅 표현의 양면을 자세히 살펴 보겠습니다. 형식 문자열은 하나 이상의 변환 스펙을 포함 할 수 있습니다. 변환 문자는 형식 연산자에 문자열의 해당 위치에 삽입 할 값 유형을 알려줍니다. 위의 예제에서 %s는 문자열을 지정하고 %d은 정수를 지정합니다. 가능한 다른 유형 지정에는 iufegc 또는 %가 있습니다. 표 9는 다양한 유형의 모든 사양을 요약 한 것입니다.
    CharacterOutput Format
    diInteger
    uUnsigned integer
    fFloating point as m.ddddd
    eFloating point as m.ddddde+/-xx
    EFloating point as m.dddddE+/-xx
    gUse %e for exponents less than 4−4 or greater than +5+5, otherwise use %f
    cSingle character
    sString, or any Python data object that can be converted to a string by using the str function.
    %Insert a literal % character

    형식 문자 외에도 %와 형식 문자 사이에 형식 수정자를 포함 할 수도 있습니다. 형식 수식자는 지정된 필드 너비로 값을 왼쪽 정렬 또는 오른쪽 정렬에 사용할 수 있습니다. 수정자는 필드 너비를 소수점 이하의 자릿수와 함께 지정하는 데 사용할 수도 있습니다. 표 10에서는 이러한 형식 수정 자에 대해 설명합니다.
    ModifierExampleDescription
    number%20dPut the value in a field width of 20
    -%-20dPut the value in a field 20 characters wide, left-justified
    +%+20dPut the value in a field 20 characters wide, right-justified
    0%020dPut the value in a field 20 characters wide, fill in with leading zeros.
    .%20.2fPut the value in a field 20 characters wide with 2 characters to the right of the decimal point.
    (name)%(name)dGet the value from the supplied dictionary using name as the key.

    형식 연산자의 오른쪽은 형식 문자열에 삽입 될 값의 모음입니다. 컬렉션은 튜플 또는 사전이 될 것입니다. 콜렉션이 튜플 인 경우, 값은 위치의 순서로 삽입됩니다. 즉, 튜플의 첫 번째 요소는 형식 문자열의 첫 번째 형식 문자에 해당합니다. 콜렉션이 사전 인 경우 값은 해당 키에 따라 삽입됩니다. 이 경우 모든 형식 문자는 (name) 수정자를 사용하여 키 이름을 지정해야합니다.

    >>> price = 24
    >>> item = "banana"
    >>> print("The %s costs %d cents"%(item,price))
    The banana costs 24 cents
    >>> print("The %+10s costs %5.2f cents"%(item,price))
    The     banana costs 24.00 cents
    >>> print("The %+10s costs %10.2f cents"%(item,price))
    The     banana costs      24.00 cents
    >>> itemdict = {"item":"banana","cost":24}
    >>> print("The %(item)s costs %(cost)7.1f cents"%itemdict)
    The banana costs    24.0 cents
    >>>

    형식 문자와 형식 수정자를 사용하는 형식 문자열 외에도 Python 문자열에는 복잡한 형식 지정을 구현하기 위해 새로운 Formatter 클래스와 함께 사용할 수있는 format 메서드가 포함되어 있습니다. 이러한 기능에 대한 자세한 내용은 Python 라이브러리 참조 설명서에서 찾을 수 있습니다. 


    반응형

    '번역 > Problem Solving with Algorithms and Data' 카테고리의 다른 글

    1.11. Exception Handling  (0) 2017.10.08
    1.10. Control Structures  (0) 2017.10.08
    1.8. Getting Started with Data  (0) 2017.10.08
    1.7. Review of Basic Python  (0) 2017.10.08
    1.6. Why Study Algorithms?  (0) 2017.10.08
Designed by Tistory.