별 것 아닌데 처음 다른 사람의 코드를 보고 이해가 가지 않아 끙끙 거렸던 것들을 왕초보의 눈으로 정리해보았다.
1. 파이썬에는 ++, -- (증감연산자)가 없다.
C언어 등에는 i++; ++i; i--; --i 와 같은 연산자를 사용하는데 파이썬에는 존재하지 않는다.
2. 파이썬에는 +=,-=,*=,/= 등 (할당연산자)가 존재한다.
반복문 등을 사용할 때 아래와 같은 식을 자주 사용하는데, 할당연산자를 이용하면 좀 더 간결하게 이를 표현할 수 있다.
a = a+1 | a +=1 |
a = a-1 | a -= 1 |
a = a*5 | a *= 5 |
a = a/5 | a /= 5 |
a = a%5 | a %= 5 |
3. 파이썬에서는 a,b = b,a 로 변수의 자리를 바꿔줄 수 있다.(Swap)
다른 언어에서는 임시변수(temp)를 사용하여 변수의 자리를 바꿔주는데, 파이썬은 이를 간단하게 한줄로 표현할 수 있다.
변수의 자리를 바꿔주는 기능은 잘 이해하면 유용하게 사용할 수 있다.
다음은 gcd(최대공약수)를 구하는 알고리즘인데, Swap을 통해 작성했다.
def gcd(a, b):
if a < b: a, b = b, a
while b: a, b = b, a % b
return a
최대공약수를 구하는 알고리즘으로 유클리드 호제법을 활용하였다.
- 유클리드 호제법 : a와 b의 최대공약수는 그 둘의 나머지와 b의 최대공약수와 같다
- a < b면 a와 b의 자리를 바꾸고
- a에 b를 넣고 b에 a%b(나머지)를 계속해서 집어넣어 최대공약수를 구하는 알고리즘이다.
'파이썬' 카테고리의 다른 글
진법변환(feat. 파이썬 자료구조와 알고리즘) (0) | 2022.08.17 |
---|---|
복소수 (0) | 2022.08.17 |
파이썬 클래스 (0) | 2022.08.06 |
파이썬 정규표현식 (0) | 2022.08.06 |
파이썬 print 함수 응용(sep, end,\n,f-string) (0) | 2022.07.27 |