python에서 함수가 여러 결과를 되돌려주는 실례 방법

1369 단어 python결과 반환
사실 하나의 의혹은 줄곧 편집자의 마음속에 있다. 모든 코드 단락 작성에 여러 개의 함수가 나타난다. 누군가가 편집자와 같은 정체성을 가지고 있을지도 모른다. 나중에 편집자는 모든 함수 자체가 각자의 목적이 있고 어떤 것은 문자열을 되돌려야 하고 어떤 것은 부동점수로 되돌려야 하며 또 다른 것은 여러 개의 값을 되돌려야 한다는 것을 알게 되었다. 이것도 모두가 필요로 하는 것이다.다음은 여러분에게 시범을 보여 드리겠습니다.
함수가 여러 결과를 반환합니다.

$ vim e3.py
def damage(skill1,skill2):
  damage1 = skill1 * 3
  damage2 = skill2 * 2 + 10
  return damage1,damage2
skill1_damage,skill2_damage = damage(3,6) 
print(skill1_damage,skill2_damage)
실행 결과
$ python2.7 e3.py
(9, 22)

Python의 함수는 여러 값을 반환할 수 있습니다.


예를 들어 게임에서 한 점에서 다른 점으로 이동하고 좌표, 위치 이동과 각도를 제시하면 새로운 좌표를 계산할 수 있다.

import math
def move(x, y, step, angle=0):
  nx = x + step * math.cos(angle)
  ny = y - step * math.sin(angle)
  return nx, ny
그리고 우리는 동시에 반환 값을 얻을 수 있다.

>>> x, y = move(100, 100, 60, math.pi / 6)
>>> print(x, y)
151.96152422706632 70.0
그러나 사실 이것은 일종의 가상일 뿐, Python 함수는 여전히 단일 값으로 되돌아온다.

>>> r = move(100, 100, 60, math.pi / 6)
>>> print(r)
(151.96152422706632, 70.0)
원래 반환값은 tuple!그러나 문법상 하나의 tuple를 되돌려주면 괄호를 생략할 수 있고 여러 변수는 하나의 tuple를 동시에 받아들여 위치에 따라 대응하는 값을 부여할 수 있기 때문에Python의 함수는 여러 개의 값을 되돌려주는 것이 사실은 하나의 tuple를 되돌려주는 것이지만 쓰기가 더욱 편리하다.

좋은 웹페이지 즐겨찾기