[python] 변수에 반환 된 부울을 부정하는 방법이 있습니까?
Item
부울 속성이있는 개체 가있는 Django 사이트 가 있습니다 active
. 속성을 False에서 True로 또는 그 반대로 전환하려면 다음과 같이하고 싶습니다.
def toggle_active(item_id):
item = Item.objects.get(id=item_id)
item.active = !item.active
item.save()
이 구문은 많은 C 기반 언어에서 유효하지만 Python에서는 유효하지 않은 것 같습니다. 다음을 사용하지 않고 다른 방법이 있습니까?
if item.active:
item.active = False
else:
item.active = True
item.save()
네이티브 파이썬 neg()
메서드는 부울의 부정이 아닌 정수의 부정을 반환하는 것 같습니다.
도와 주셔서 감사합니다.
답변
다음과 같이 할 수 있습니다.
item.active = not item.active
그것은 트릭을해야합니다 🙂
답변
당신이 원하는 것 같아요
item.active = not item.active
답변
item.active = not item.active
비단뱀적인 방법입니다
답변
이를 수행하는 또 다른 (덜 간결하고 읽기 쉽고 산술적) 방법은 다음과 같습니다.
item.active = bool(1 - item.active)
답변
부울의 부정은 not
입니다.
def toggle_active(item_id):
item = Item.objects.get(id=item_id)
item.active = not item.active
item.save()
감사합니다, 그것은 번개처럼 빠른 응답이었습니다!
답변
간단합니다.
item.active = not item.active
따라서 마지막으로 다음과 같이 끝납니다.
def toggleActive(item_id):
item = Item.objects.get(id=item_id)
item.active = not item.active
item.save()