아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
반듯한거북이278
반듯한거북이27820.09.01

파이썬과 C의 단항 연산자 문의 드립니다.

안녕하세요.

아래 코드에서 차이가 궁금하여 문의 드립니다.

a=4 ++a print(a)

이렇게 하면 파이썬의 경우 4가 찍히는 데요,

c언어 에서는

int a=4; ++a; printf("%d",a);

를 하면 5가 찍히는 데요, C언어에서는 해당 값을 증가시키는 단항 연산자 ++ 인데요 파이썬에서는 다른 용도인지 궁금합니다.

감사합니다.

55글자 더 채워주세요.
답변의 개수
6개의 답변이 있어요!
  • 안녕하세요,

    파이썬은 c언어와 다르게 ++ 오퍼레이션을 지원하지 않습니다.

    ++a는 +연산자를 a에 2번 적용한 것으로 해석되며,

    +a는 a가 숫자값일때 항등 함수로 동작합니다.

    그러므로 ++a는 같은 값을 가지게 됩니다.

    파이썬에서 숫자의 규칙적인 증가는 range 함수를 이용해 generator를 만들어 사용하며, 일시적인 증가는 += 오퍼레이션을 이용하시면 됩니다.

    감사합니다.


  • 파이썬에서는 ++ 연산자을 지원하지 않습니다.

    파이썬에서는

    a = 4 a += 1

    이런 방법이나

    a = 4 a = a + 1

    이런식으로 사용하시면 됩니다.

    검색을 해보니 파이썬은 일관성과 가독성을 우선시해서 없다는 이야기가 있습니다.

    조금 애매해보이지만 언어를 만든 사람들이 나름의 철학을 가지고 만든 것이기 때문에 다른 위와 같은 방법으로 하시는것을 추천드립니다.


  • 안녕하세요~! 아하(Aha) 지식답변자 다라닝입니다.

    질문하신 내용에 대하여 아래와 같이 답변 드립니다.

    파이썬에서 C처럼 ++를 사용하시려면

    +=1, -=1처럼 쓰셔야합니다.

    ++a은 +(+a) = a 이어서 의미가 없습니다!

    부족하지만 도움이 되셨기를 바라며 추가적인 문의가 필요하시면 답변 부탁드려요!


  • 파이썬의 경우 C언어에서 사용되는 증감 연산자인 ++와 --연산자가 없습니다.

    대신 +=와 -=으로 고쳐서 쓰셔야 합니다. 그 이유는 파이썬의 경우는 일관성과 가독성을 중시하는 언어인데

    C언어에서 쓰이는 증감연산자를 쓴다면 위치에 따라서 다른 결과를 낼 수 있기 때문에 파이썬과 맞지 않다고 합니다.


  • 안녕하세요.

    많은 개발언어에서 말씀하신대로 증감연산자를 사용하고 있습니다.

    이런 증감연산자는 코드의 양을 줄여줄 수 있어서 편리한데요.

    파이썬에서는 이러한 증감연산자가 사용되지 않고, 존재하지도 않습니다.

    이유는 파이썬의 경우, 누구나 쉽게 읽고 명료한 코드를 추구하기 때문인데요.

    증감연산자의 경우, 그 위치가 전위냐 후위냐에 따라서 실제 값이 바뀌는 타이밍이 달라지는 것을 보셨을 거에요.

    이러한 혼란을 없애고자 파이선에서는 해당 코드를 사용하지 않습니다.

    ++a 대신에 a += 1을 쓸 수 있어요


  • 파이썬에서는 ++는 연산자가 아니라 그냥 +연산자 2개 합쳐져 있는 거라고 보시면 됩니다.

    C의 ++ 연산을 원하신다면 python에서는 다음과 같이 사용하시면 됩니다.

    a=4 a+=1 print(a)

    파이썬은 일관성과 가독성을 중시하는 언어이기때문에 ++, --는 전위/후위에 따라서 다른 결과를 낼 수 있기 때문에 이는 파이썬스럽지 않다고 할 수 있습니다.