(a+=b) != (a=a+b)
4371 단어 codenewbiepython
그렇지 않은 사람들을 위해.표현을 줄이는 데 사용됩니다.
예시
a = 2
a
의 값을 1씩 증가시키려면 아래 표기법을 사용해야 합니다.a = a + 1
그러나 복합 연산자의 도움으로 아래와 같이 할 수 있습니다.
a += 1
본질적으로
a=a+1
와 같습니다 (음.. 항상 그런 것은 아님)위의 규칙을 따르지 않는 경우가 있습니다.
예시
아래의 예를 고려하여,
a = [1,2,3]
b = a
a += [4,5] # Compund operator
print(a)
print(b)
이것은 출력할 것이고,
[1,2,3,4,5]
[1,2,3,4,5]
우리가 예상했던 바로 그거야? 이제 여기에 반전이 있습니다. 이제 복합 연산자 없이 시도하고 출력을 보겠습니다.
a = [1,2,3]
b = a
a = a + [4,5] # Without compound operator
print(a)
print(b)
이것은 출력할 것이고,
[1,2,3,4,5]
[1,2,3]
보시다시피 출력은 목록
a
에 대해 동일하지만 목록b
은 변경됩니다.이유가 뭐야?
a += [4,5]
위의 경우 목록이 확장됩니다. 따라서 이 목록을 다른 목록에 할당하면 둘 다 변경됩니다.
그러나 아래 방법을 사용할 때. 새 목록을 만들고 값을 추가합니다. 따라서 목록에 영향을 미치지 않습니다
b
.a = a + [4,5]
Reference
이 문제에 관하여((a+=b) != (a=a+b)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/manitej/a-b-a-a-b-3hi4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)