이 질문은 this question보고에서 온 : 그것은 (튜플 같은) 반복 가능 객체 고정 번호로 2 개의 인수를 취하는 함수를보고 내 제일 싫어 하는게 중 하나를되었거나 있어 개인적으로두 개 이상의 iterables를 사용하는 Python 함수를 좋아하지 않습니다. 좋은 생각입니까?
def fringe8((px, py), (x1, y1, x2, y2)):
두 개 더 많은 사전 (Shotgun API처럼). 모든 자세한 정보 및 이중 괄호 첨부 인클로저 때문에 사용하기가 어렵습니다.
>>> class Point(object):
... def __init__(self, x, y):
... self.x = x
... self.y = y
...
>>> class Rect(object):
... def __init__(self, x1, y1, x2, y2):
... self.x1 = x1
... self.y1 = y1
... self.x2 = x2
... self.y2 = y2
...
>>> def fringe8(point, rect):
... # ...
...
>>>
>>> point = Point(2, 2)
>>> rect = Rect(1, 1, 3, 3)
>>>
>>> fringe8(point, rect)
두 개 이상의 반복 가능한 인수를 복용하는 것은 정당화 상황이 있습니까 :
이 더 좋지 않을까요? 분명히 표준 인 itertools
파이썬 라이브러리가 필요하지만, 유지 보수가 용이하고 유연한 코드 설계에서 꽤 잘 보이지 않습니다. 귀도는 그것을 설계 오류, 또는 적어도 부당한 합병증을 고려 의미 -
아 좋다! 그래서 파이썬 3이 널리 적용될 때 더 이상 저에게 문제가되지 않을 것입니다. 그건 아주 좋은거야. –
@Xavier, right : "self-unpacked"튜플 args는 결코 파이썬 3에서는 사용되지 않습니다.하지만 다른 문제는 Py3에서 반복적 인 "views"로 강화됩니다! -) –
@Alex, iterable "views"? 좀 더 힌트를 줄 수 있니? –