파이썬과 C의 단항 연산자 문의 드립니다.
안녕하세요.
아래 코드에서 차이가 궁금하여 문의 드립니다.
a=4 ++a print(a)이렇게 하면 파이썬의 경우 4가 찍히는 데요,
c언어 에서는
int a=4; ++a; printf("%d",a);를 하면 5가 찍히는 데요, C언어에서는 해당 값을 증가시키는 단항 연산자 ++ 인데요 파이썬에서는 다른 용도인지 궁금합니다.
감사합니다.
안녕하세요,
파이썬은 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)파이썬은 일관성과 가독성을 중시하는 언어이기때문에 ++, --는 전위/후위에 따라서 다른 결과를 낼 수 있기 때문에 이는 파이썬스럽지 않다고 할 수 있습니다.