#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목함수와 데이터 - 인자/input()2018-10-07 16:16
작성자

기본적으로 함수는 데이터를 받아서 데이터를 내보낸다.


그림으로 표현하면 


data in -----> process -------> data out


과 같이 나타낼 수 있는데,


이 중 "data in"에 해당하는 데이터의 출처는 함수의 인자 혹은 유저의 키보드일 수 있다.


게시판에 작성된 코드 중 상당수가 


d = input("입력해주세요.")


def function():

  # 함수 정의


와 같이 함수 바깥에 input 함수를 호출하는 형태를 띄는데,


직관적인 의도를 고려했을 때 input 부분은 함수 정의 안으로 옮기는 것이 낫다.


또 함수의 인자와 input 은 성격상 서로를 대신할 수 있다.


함수를 테스트하기 위해서 input 함수를 사용하는 경우라면 


함수 인자는 필요 없다는 것이다.


이를테면


def decideNumber(number):

  # 함수 정의


와 같이 인자를 사용해서 정의한 함수를 테스트하고 싶다면


assert decideNumber(333) == "some value"

assert decideNumber(0) == "some value"


와 같이 assert 를 이용해서 검사를 하고,


만약 input 즉 유저가 키보드를 통해 입력하는 값을 통해 테스트하고 싶다면


def decideNumber():

   d = int (input("숫자를 입력해주세요."))

  # 나머지 정의


와 같이 함수 인자 없이 내부에서 input 함수를 호출하는 형태로 작성해야한다는 것이다.


만약 위 함수를 테스트 하고 싶다면


정의 아래에


decideNumber() 와 같이 호출하면 된다.




댓글
이전중간고사 시험관련 질문드립니다 ㅠㅠ2018-10-07
다음교수님 시험때2018-10-07