파이썬 문법 질문입니다.
글쓴이: jaeung24k / 작성시간: 수, 2020/07/22 - 10:39오전
OctoPrint 라는 오픈소스 Python 프로젝트의 코드 중 일부입니다.
'|' 기호가 bitwise 연산으로 알고 있는데 아래 코드에서도 bitwise 연산자로 사용된건지 궁금합니다.
class PositionRecord(object): _standard_attrs = {"x", "y", "z", "e", "f", "t"} def __init__(self, *args, **kwargs): attrs = self._standard_attrs | set(key for key in kwargs if self.valid_e(key)) for attr in attrs: setattr(self, attr, kwargs.get(attr))
Forums:
모르는 게 있으면 매뉴얼을 찾아봐야지요.
모르는 게 있으면 매뉴얼을 찾아봐야지요.
1. python은 연산자를 overloading하는 게 가능한 언어입니다. C++처럼요.
https://docs.python.org/3/reference/datamodel.html#emulating-numeric-types
2. set의 | 연산자는 union입니다.
https://docs.python.org/3.8/library/stdtypes.html#frozenset.union
친절한 답변 감사드립니다!
도움이 많이 되었습니다^^
오늘도 생명과 호흡을 주심에 감사합니다.
댓글 달기