ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1.12. Defining Functions
    번역/Problem Solving with Algorithms and Data 2017. 10. 8. 21:17
    반응형

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


    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


    수학적 모듈에서 sqrt라는 Python 함수를 호출하여 제곱근을 계산하는 초기 절차 적 추상화 예제입니다. 일반적으로 함수를 정의하여 계산의 세부 사항을 숨길 수 있습니다. 함수 정의에는 이름, 매개 변수 그룹 및 본문이 필요합니다. 명시 적으로 값을 반환 할 수도 있습니다. 예를 들어, 아래에 정의 된 간단한 함수는 전달한 값의 제곱을 반환합니다.

    >>> def square(n):
    ...    return n**2
    ...
    >>> square(3)
    9
    >>> square(square(3))
    81
    >>>

    이 함수 정의 구문에는 이름 square및 형식 매개 변수의 괄호로 묶인 목록이 포함됩니다. 이 함수의 경우, n은 형식적인 매개 변수이며, square는 작업을 수행하는 데 오직 하나의 데이터 만 있으면됩니다. 상자 안의 "숨겨진"세부 정보는 단순히 n**2의 결과를 계산하여 반환합니다. 우리는 Python 환경에 실제 매개 변수 값 (이 경우에는 3)을 전달하도록 요청하여 square함수를 호출하거나 호출 할 수 있습니다. square에 대한 호출은 다른 호출로 전달 될 수있는 정수를 반환합니다.
    우리는 "Newton 's Method"라는 잘 알려진 기술을 사용하여 자체 제곱근 함수를 구현할 수 있습니다. 제곱근을 근사하는 Newton의 방법은 올바른 값에 수렴하는 반복 계산을 수행합니다. 방정식 는 값 nn을 취하고 각 newguess를 후속 반복에서 oldguess로 만들어 반복적으로 제곱근을 추측합니다. 여기에 사용 된 초기 추측은 n / 2입니다. Listing 1은 값 nn을 받아들이고 20 개의 추측을 한 후 nn의 제곱근을 반환하는 함수 정의를 보여줍니다. 다시, Newton 's Method의 세부 사항은 함수 정의 안에 숨겨져 있으며 사용자는 의도 된 목적을 위해 함수를 사용하기 위해 구현에 대해 알 필요가 없습니다. Listing 1은 # 문자를 주석 마커로 사용하는 방법을 보여준다. 행의 # 뒤에 나오는 문자는 무시됩니다.
    Listing 1
    def squareroot(n):
        root = n/2    #initial guess will be 1/2 of n
        for k in range(20):
            root = (1/2)*(root + (n / root))

        return root

    >>>squareroot(9)
    3.0
    >>>squareroot(4563)
    67.549981495186216

    >>>

    반응형

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

    1.14. Summary  (0) 2017.10.08
    1.13. Object-Oriented Programming in Python: Defining Classes  (0) 2017.10.08
    1.11. Exception Handling  (0) 2017.10.08
    1.10. Control Structures  (0) 2017.10.08
    1.9. Input and Output  (0) 2017.10.08
Designed by Tistory.