새소식

언어/파이썬(Python)

5. 파이썬(Python) 여러 변수에 값 동시 대입, swap 연산

  • -

이 파이썬 글은 프로그래밍을 처음하시는 분들도 알아듣기 쉽게 쓰려고 노력하고 있습니다

이해안가는 부분이 있다면 피드백 주시면 감사하겠습니다!!!

 

파이썬에서는 여러 변수에 값을 동시에 대입할 수 있습니다

이를 이용해서 swap 연산(두 변수의 값을 교환하는 연산)도 쉽게 가능합니다

1
2
3
x, y = 35
print(x) # 3
print(y) # 5
cs

 

위와 깉아 두 값을 두 변수에 한 번에 넣을 수 있습니다

x에는 3이 들어가게 되고 y에는 5가 대입됩니다

 

1
2
3
4
x, y, z = 359
print(x) # 3
print(y) # 5
print(y) # 9
cs

물론 위와 같이 한 번에 3개의 값을 대입할 수도 있습니다

그러면 이를 응용해봅시다!!

 

< SWAP 연산>

C언어 같은 경우 두 값을 바꾸는 swap 연산을 위해서는 temp 변수를 필요로 합니다

1
2
3
4
5
6
7
8
9
int a = 10;
int b = 20;
int temp;
 
temp = a;
= b;
= temp;
 
printf("a : %d, b : %d\n", a,b);    // a: 20, b : 10
cs

위와 같이 임시 변수를 이용해서 swap 해야 합니다

 

하지만 파이썬은!!

1
2
3
4
5
6
= 10
= 20
a, b = b, a
 
print(a) # 20
print(b) # 10
cs

위와 같이 코드 한줄이면 바로 swap 연산이 가능합니다

다른 언어를 사용하시다 파이썬을 사용하신다면 위와 같이 코드를 짜야겠죠??

파이썬스럽게요~~

 

<여러 값 동시에 대입>

또한 여러 값을 한번에 대입할 수 있습니다

1
= b = c = 10
cs

위와 같이 하면 a,b,c라는 변수에 10이라는 값이 들어가게 됩니다

 

<기존 변수에 값 대입>

파이썬에서는 기존 변수에 다른 값을 넣어서 사용할 수 있습니다

그때 그때 타입을 정하기 때문입니다

1
2
3
4
= 2
print(x) # 2
= "two"
print(x) # two
cs

1번 줄에서 x에 2라는 int 값을 넣었고 출력하면 2라는 값이 잘 나옵니다

하지만 밑에 3번 줄에서 "two"라는 string을 다시 대입할 수 있습니다

보통 타입을 정하는 언어들이라면 에러가 발생하지만 파이썬은 가능합니다

그래서 4번째 줄에서 print를 통해 two라는 값을 출력할 수 있습니다

 

<확장치환문 사용가능>

c나 자바에서도 사용하는 확장치환문!!

간단히 말하면 이런겁니다. += -= *= /=

연산자를 줄여서 쓸 수 있는 문법이 파이썬에서도 제공됩니다

1
2
3
4
= 10
= 20
= a + b
print(a)
cs

위와 같이 a값에 b를 더해서 다시 a에 대입하는 연산을 하려고 합니다

그러면 일반 수학처럼 위와같이 쓰시면 됩니다. 그러면 a에는 30이라는 값이 담기게됩니다

이를 다음과 같이 줄여서 쓸수 있습니다

 

1
2
3
4
= 10
= 20
+= b
print(a)
cs

이렇게 말이죠!! 반복되는 부분을 줄인다고 생각하시면 됩니다

 

1
2
3
4
5
= 10
= 20
c= 123
+= b * c
print(a)
cs

그러면 위와 같이 쓰면 a에 어떤 값이 출력될까요???

위 식은 a = a + b * c를 줄인 것이라고 볼 수 있습니다

그러므로 10 + 20 * 123을 한 값이 담기게 됩니다

다른 연산자도 마찬가지 방법으로 줄여쓸 수 있습니다!!

 

궁금하신점은 꼭 댓글을 통해 마음껏 물어봐주세요~~

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.